Avatar billede aksel Praktikant
30. april 2002 - 21:54 Der er 11 kommentarer og
1 løsning

Kan man hente en fil via en URL og gemme den lokalt med ASP

Hvordan henter man en fil via en URL på et fremmed websted og gemmer den lokalt? Kan man bruge asp til dette?
Avatar billede rou Nybegynder
30. april 2002 - 21:56 #1
Det kan ikke lade sig gøre
Avatar billede aksel Praktikant
30. april 2002 - 21:59 #2
Hej Rou
Hvis man kan hente filen og vise den i en browser må det da også kunne lade sig gøre at gemme den ??
Avatar billede simonhusby Nybegynder
30. april 2002 - 21:59 #3
Intet er umuligt!
Avatar billede rou Nybegynder
30. april 2002 - 22:01 #4
Nope, for det er Client side. ASP kører serverside, og det vil være for stort et sikkerheds hul hvis du kunne.

Det er måske muligt hvis du via COM eller lign, åbner en FTP eller måske en socket til en anden server. Men det er ikke umiddelbart så nemt.
Avatar billede aksel Praktikant
30. april 2002 - 22:02 #5
Hej simonhusby
Det lyder godt - men hvordan gør man det :-)
Avatar billede doc404 Novice
30. april 2002 - 22:51 #6
Hvis din server har AspHTTP komponenten fra ServerObjects kan du lave det nemt. Dette eksempel er stjålet råt fra dokumentationen

<%
Response.ContentType = "image/gif"
Set HTTPObj = Server.CreateObject("AspHTTP.Conn")
HTTPObj.Url = "http://www.microsoft.com/library/images/gifs/toolbar/write.gif"
HTTPObj.GetURL

' her skal du så blot gemme dine data i en fil istedet
Response.BinaryWrite HTTPObj.BinaryData
%>
Avatar billede aksel Praktikant
01. maj 2002 - 23:59 #7
Til doc404
Jeg har ikke adgang til AspHTTP komponenten .. desværre
Meningen er at jeg vil hente en stump tekst ud af en "fremmed" html side og gemme den som XML på serveren. Kan man ikke gøre det på en eller anden måde??
Avatar billede doc404 Novice
02. maj 2002 - 00:28 #8
Jo da ;-)

Faldt faktisk lige over en artikel på 4guysfromrolla. Du burde kunne køre det på alle IIS servere.

http://www.4guysfromrolla.com/webtech/110100-1.shtml

Her er eksemplet fra artiklen

<%
  Response.Buffer = True
  Dim objXMLHTTP, xml

  ' Create an xmlhttp object:
  Set xml = Server.CreateObject("Microsoft.XMLHTTP")
  ' Or, for version 3.0 of XMLHTTP, use:
  ' Set xml = Server.CreateObject("MSXML2.ServerXMLHTTP")

  ' Opens the connection to the remote server.
  xml.Open "GET", "http://www.4Guysfromrolla.com/", False

  ' Actually Sends the request and returns the data:
  xml.Send

  'Display the HTML both as HTML and as text
  Response.Write "<h1>The HTML text</h1><xmp>"
  Response.Write xml.responseText
  Response.Write "</xmp><p><hr><p><h1>The HTML Output</h1>"

  Response.Write xml.responseText


  Set xml = Nothing
%>
Avatar billede rou Nybegynder
02. maj 2002 - 08:30 #9
Hmm, jeg gik ud fra det var en binær fil du mente tidligere. Du var ikke videre specifik i din beskrivelse.

Doc404's eksempel er fint. Jeg har selv brugt noget lignende.

Det du skal bruge har faktisk et 'navn', nemlig HTTP embedding.
Avatar billede doc404 Novice
02. maj 2002 - 08:40 #10
SeervXMLHTTP kan faktisk også hente binære filer...
Avatar billede aksel Praktikant
02. maj 2002 - 17:58 #11
Jeg installeret msxml 4.0 på min pc og kører på PWS
Hvis jeg ændrer til 
Set xml = Server.CreateObject("MSXML2.XMLHTTP.4.0")
Så kører det eksempel jeg fik fra doc404 - tak:-)
Nu kommer så problemet med at hente en stump tekst ud og gemme den som xml -- dvs det skal være WML til en wap browser
Har i nogle ideer?? Jeg skal bruge noget XML DOM og noget ASP??
HTTP embedding  - hvor kan jeg finde noget mere om det??
Avatar billede rou Nybegynder
03. maj 2002 - 08:27 #12
Du søger bare på google, så drukner du sikkert i links.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester