/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Hente png filer
Fra : Michael Tillgaard


Dato : 16-03-07 19:20

Hvordan laver jeg et asp script der kan vise alle png-filer der
ligger på en extern ip.
Et eksempel på en ip er:
http://62.141.52.152/62.141.52.152/
Her ligger f.eks: pb005611.png, pb005656.png etc

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Christoffer (17-03-2007)
Kommentar
Fra : Christoffer


Dato : 17-03-07 12:58

"Michael Tillgaard" <post@multibook.dk> skrev i en meddelelse
news:45fadfd8$0$90273$14726298@news.sunsite.dk...
> Hvordan laver jeg et asp script der kan vise alle png-filer der
> ligger på en extern ip.
> Et eksempel på en ip er:
> http://62.141.52.152/62.141.52.152/
> Her ligger f.eks: pb005611.png, pb005656.png etc
>

Du skal have adgang til et komponent på serveren som kan hente fra en
webserver, samt et komponent der kan gemme filerne lokalt på webserveren.
Dette virker ved brug af Socket.TCP og Scripting.FileSystemObject.

Det er desværre dog ikke så hurtigt, det virker meget fint med filer der
ikke er så store. Håber det kan bruges.

Med venlig hilsen Christoffer

strhttp = GetHttp("http://www.greenland4u.dk/wallpaper/14/8_1.jpg")
filedata = mid(strhttp,Instr(strhttp,VbCrLf&VbCrLf)+len(VbCrLf&VbCrLf))
filedata = StringToBinary(filedata)
FileName = Server.Mappath("myfile.jpg")
tmp = WriteToFile(FileName,filedata)

Function WriteToFile(strFileSpec,bstrPostData)
'det ser tilsyneladende ud til at det ved binære filer skal være
'intEndPos = len(bstrPostData)*2
'og ved tekst filer skal være
'intEndPos = len(bstrPostData)*2+1
Set fs = CreateObject("Scripting.FileSystemObject") 'Filsystem objekt
Set ts = fs.CreateTextFile(strFileSpec, True) 'Åbn outputfil, overskriv evt.
eksisterende
intStartPos = 1
intEndPos = len(bstrPostData)*2+1 'for at gøre det muligt også at gemme
tekst filer er der tilføjet +1
For i = intStartPos To intEndPos
if MidB(bstrPostData, i, 1) = "" then Exit For 'denne linje er tilføjet for
at det både virker med tekstfiler og binære filer.
ts.Write(Chr(AscB(MidB(bstrPostData, i, 1)))) 'Skriv data eet tegn af gangen
Next
ts.Close 'Luk outputfil
End Function

Function StringToBinary(S)
Dim i, ByteArray
For i=1 To Len(S)
ByteArray = ByteArray & ChrB(Asc(Mid(S,i,1)))
Next
StringToBinary = ByteArray
End Function

Function GetHttp(strUrl)
tmpstrurl = strurl
on error resume next
if left(lcase(tmpstrurl),7) = "http://" then tmpstrurl = mid(tmpstrurl,8)
if Instr(tmpstrurl,"/") > 0 then
strHost = left(tmpstrurl,Instr(tmpstrurl,"/")-1)
strPage = mid(tmpstrurl,Instr(tmpstrurl,"/"))
else
strHost = tmpstrurl
strPage = "/"
end if
'--- start * download page/file ---
set Socket = server.CreateObject("Socket.TCP")
socket.Host = strHost & ":80"
Socket.TimeOut = 8000
Socket.Open
Socket.SendLine("GET " & strPage & " HTTP/1.0" & Chr(13) & Chr(10) &
"Host: " & strHost & Chr(13) & Chr(10))
Socket.WaitForDisconnect()
GetHttp = Socket.Buffer
Socket.Close()
Set Socket = Nothing
End Function

- - -
Denne besked er sendt gennem http://cht.dk... Online portal, kalender og
konferencesystem...



Christoffer (18-03-2007)
Kommentar
Fra : Christoffer


Dato : 18-03-07 08:18

"Christoffer" <nomail@nospam.com> skrev i en meddelelse
news:45fbd628$0$90268$14726298@news.sunsite.dk...
> "Michael Tillgaard" <post@multibook.dk> skrev i en meddelelse
> news:45fadfd8$0$90273$14726298@news.sunsite.dk...
> > Hvordan laver jeg et asp script der kan vise alle png-filer der
> > ligger på en extern ip.
> > Et eksempel på en ip er:
> > http://62.141.52.152/62.141.52.152/
> > Her ligger f.eks: pb005611.png, pb005656.png etc
> >
>
> Du skal have adgang til et komponent på serveren som kan hente fra en
> webserver, samt et komponent der kan gemme filerne lokalt på webserveren.
> Dette virker ved brug af Socket.TCP og Scripting.FileSystemObject.
>
> Det er desværre dog ikke så hurtigt, det virker meget fint med filer der
> ikke er så store. Håber det kan bruges.
>
> Med venlig hilsen Christoffer
>
> <kode>

Jeg kan også godt finde noget kode frem som kan finde de links der er på den
side du henviser til: http://62.141.52.152/62.141.52.152/, så der kan laves
noget kode som automatisk finder ud af hvilke filer der skal hentes og
derefter henter dem til webserveren.

Med venlig hilsen Christoffer

- - -
Denne besked er sendt gennem http://cht.dk... Online portal, kalender og
konferencesystem...



Michael Tillgaard (18-03-2007)
Kommentar
Fra : Michael Tillgaard


Dato : 18-03-07 12:05

Christoffer wrote in dk.edb.internet.webdesign.serverside.asp:
> "Christoffer" <nomail@nospam.com> skrev i en meddelelse
> news:45fbd628$0$90268$14726298@news.sunsite.dk...
> > "Michael Tillgaard" <post@multibook.dk> skrev i en meddelelse
> > news:45fadfd8$0$90273$14726298@news.sunsite.dk...
> > > Hvordan laver jeg et asp script der kan vise alle png-filer der
> > > ligger på en extern ip.
> > > Et eksempel på en ip er:
> > > http://62.141.52.152/62.141.52.152/
> > > Her ligger f.eks: pb005611.png, pb005656.png etc
> > >
> >
> > Du skal have adgang til et komponent på serveren som kan hente fra en
> > webserver, samt et komponent der kan gemme filerne lokalt på webserveren.
> > Dette virker ved brug af Socket.TCP og Scripting.FileSystemObject.
> >
> > Det er desværre dog ikke så hurtigt, det virker meget fint med filer der
> > ikke er så store. Håber det kan bruges.
> >
> > Med venlig hilsen Christoffer
> >
> > <kode>
>
> Jeg kan også godt finde noget kode frem som kan finde de links der er på den
> side du henviser til: http://62.141.52.152/62.141.52.152/, så der kan laves
> noget kode som automatisk finder ud af hvilke filer der skal hentes og
> derefter henter dem til webserveren.
>
> Med venlig hilsen Christoffer
>
> - - -
> Denne besked er sendt gennem http://cht.dk... Online portal, kalender og
> konferencesystem...
>
>
Hej Christoffer

Det er jeg da meget interesseret i. Er det noget du kan sende til mig eller
hvad har du i tankerne?
Jeg skal bruge det til følgende side:
www.fast-klan.dk/pbss.asp
Du kan jo prøve at indtaste ip'en

Mvh.
Michael

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Christoffer (18-03-2007)
Kommentar
Fra : Christoffer


Dato : 18-03-07 13:25

"Michael Tillgaard" <post@multibook.dk> skrev i en meddelelse
news:45fd1ce5$0$90272$14726298@news.sunsite.dk...
> > > > Hvordan laver jeg et asp script der kan vise alle png-filer der
> > > > ligger på en extern ip.
> > > > Et eksempel på en ip er:
> > > > http://62.141.52.152/62.141.52.152/
> > > > Her ligger f.eks: pb005611.png, pb005656.png etc
> > > >
> > >
> > Jeg kan også godt finde noget kode frem som kan finde de links der er på
den
> > side du henviser til: http://62.141.52.152/62.141.52.152/, så der kan
laves
> > noget kode som automatisk finder ud af hvilke filer der skal hentes og
> > derefter henter dem til webserveren.
> >
> Det er jeg da meget interesseret i. Er det noget du kan sende til mig
eller
> hvad har du i tankerne?
> Jeg skal bruge det til følgende side:
> www.fast-klan.dk/pbss.asp
> Du kan jo prøve at indtaste ip'en
>

Helt i orden her er funktionen og noget kode der kan hente siden og finde ud
af hvilke filer der skal hentes:

link1 = "http://62.141.52.152/62.141.52.152/"
text1 = GetHttp(link1)

For each link_found in Split(FindLinks(text1,link1),VbCrLf)
if link_found <> "" then
tmplink = left(link_found,Instr(link_found,Chr(9))-1)
filetype = mid(tmplink,InstrRev(tmplink,".")+1)

if lcase(filetype) = "png" then
strhttp = GetHttp(tmplink)
filedata = mid(strhttp,Instr(strhttp,VbCrLf&VbCrLf)+len(VbCrLf&VbCrLf))
filedata = StringToBinary(filedata)
FileName = mid(tmplink,InstrRev(tmplink,"/")+1)
FileName = Server.Mappath(FileName)
tmp = WriteToFile(FileName,filedata)
end if

end if
Next

Function FindLinks(htmltext,pageurl)
'Information: Finder links i html tekst, skriver links, derefter evt.
link-tekst og til sidst evt. title-tekst. Disse tre dele adskilles med tab
"Chr(9)".
'
'Opdateret:
'13:09 24-06-2006
'17:43 30-01-2007
'14:51 09-02-2007

response.write pageurl & "<br>"
response.write pageurl_server & "<br>"

'nb. denne version finder kun links ikke link-tekst, og evt. link-title.
'
'typer links:
'href=
'src=
'open('
'link metoder:
'http://
'https://
'mailto:
'javascript:
'ftp://
'
'find ud af hvilken form for link der er tale om:
'1. link til underside.
'2. link til side på samme domain-navn.
'3. link til ekstern side.
'3b. link indeholder domain-navn.
'4. link til ftp-server.
'5. link til javascript.
'6. link til e-mail.
'7. link til sikker side.
'0. ikke fundet (ukendt type).

links_count = 0

htmltext = replace(htmltext,"href=","href=",1,-1,1)
htmltext = replace(htmltext,"src=","src=",1,-1,1)
htmltext = replace(htmltext,"open('","open('",1,-1,1)

For each link in Split(htmltext,"href=")
links_count = links_count+1
link_adress = ""
if left(link,1) = "'" and Instr(2,link,"'",1) > 0 then
if Instr(2,link,">",1) > Instr(2,link,"'",1) or Instr(link,">") = 0 then
link_adress = mid(link,2,Instr(2,link,"'",1)-2)
else
link_adress = mid(link,2,Instr(2,link,">",1)-2)
end if
elseif left(link,1) = """" and Instr(2,link,"""",1) > 0 then
if Instr(2,link,">",1) > Instr(2,link,"""",1) or Instr(link,">") = 0 then
'link_adress = mid(link,2,Instr(2,link,"""",1)-2)
link_adress = mid(link,2,Instr(mid(link,2),"""")-1)
else
'link_adress = mid(link,2,Instr(2,link,">",1)-2)
if Instr(mid(link,2),">") > 0 then link_adress =
mid(link,2,Instr(mid(link,2),">")-1)
end if
elseif Instr(2,link," ",1) > 0 or Instr(2,link,">",1) > 0 then
if Instr(link,">") > Instr(link," ") or Instr(link,">") = 0 then
link_adress = mid(link,1,Instr(1,link," ",1)-1)
else
link_adress = mid(link,1,Instr(1,link,">",1)-1)
end if
end if

link_type = "0"
link_adress_server = ""
if pageurl <> "" then
if left(lcase(link_adress),len("ftp://")) = lcase("ftp://") then
link_type = "4"
elseif left(lcase(link_adress),len("javascript:")) = lcase("javascript:")
then
link_type = "5"
elseif left(lcase(link_adress),len("mailto:")) = lcase("mailto:") then
link_type = "6"
elseif left(lcase(link_adress),len("https://")) = lcase("https://") then
link_type = "7"
else
pageurl_server = mid(pageurl,Instr(pageurl,"//")+2)
if Instr(pageurl_server,"/") > 0 then pageurl_server =
left(pageurl_server,Instr(pageurl_server,"/")-1)

if Instr(mid(pageurl,Instr(pageurl,"//")+2),"/") > 0 then
'!!! pageurl_folder virker ikke optimalt, da sidens adresse både kan være
en mappe og adressen på en side
pageurl_folder = left(pageurl,InstrRev(pageurl,"/")-1)
else
pageurl_folder = pageurl
end if

if left(lcase(link_adress),len("http://")) <> lcase("http://") then
if left(link_adress,1) = "/" then
'undersøg om det er et link til en underside
link_type = "2"
link_adress = "http://" & pageurl_server & link_adress
else
if left(lcase(pageurl_folder),7) = "http://" then
link_adress = pageurl_folder & "/" & "" & link_adress
else
link_adress = "http://" & pageurl_server & "/" & pageurl_folder & "/"
& "" & link_adress
end if

'link_adress = "http://" & pageurl_server & "/" & pageurl_folder & "/"
& link_adress
end if
end if

link_adress_server = mid(link_adress,Instr(link_adress,"//")+2)
if Instr(link_adress_server,"/") > 0 then link_adress_server =
left(link_adress_server,Instr(link_adress_server,"/")-1)

'!!! der er taget højde for at der kan være links hvor det kun er
domainnavn der er intastet, (som ikke ender på /)

if left(lcase(link_adress),len(pageurl_folder)) = lcase(pageurl_folder)
then
link_type = "1"
elseif lcase(link_adress_server) = lcase(pageurl_server) then
link_type = "2"
else
link_type = "3"
end if
end if
end if
if links_count > 1 and link_adress <> "" then
FindLinks = FindLinks & link_adress & Chr(9) & link_type & Chr(9) &
link_adress_server & VbCrLf
end if
Next

if links_count = 0 then links_count = 1

FindLinks = FindLinks & "'''Antal 'href' links fundet: " & links_count-1 &
VbCrLf
links_count = 0

For each link in Split(htmltext,"src=")
links_count = links_count+1
link_adress = ""
if left(link,1) = "'" and Instr(2,link,"'",1) > 0 then
if Instr(2,link,">",1) > Instr(2,link,"'",1) or Instr(link,">") = 0 then
link_adress = mid(link,2,Instr(2,link,"'",1)-2)
else
'link_adress = mid(link,2,Instr(2,link,">",1)-2)
link_adress = mid(link,2,Instr(mid(link,2),">")-1)
end if
elseif left(link,1) = """" and Instr(2,link,"""",1) > 0 then
if Instr(2,link,">",1) > Instr(2,link,"""",1) or Instr(link,">") = 0 then
'link_adress = mid(link,2,Instr(2,link,"""",1)-2)
link_adress = mid(link,2,Instr(mid(link,2),"""")-1)
else
'link_adress = mid(link,2,Instr(2,link,">",1)-2)
if Instr(mid(link,2),">") > 0 then link_adress =
mid(link,2,Instr(mid(link,2),">")-1)
end if
elseif Instr(2,link," ",1) > 0 or Instr(2,link,">",1) > 0 then
if Instr(1,link,">",1) > Instr(1,link," ",1) or Instr(link,">") = 0 then
link_adress = mid(link,1,Instr(1,link," ",1)-1)
else
link_adress = mid(link,1,Instr(1,link,">",1)-1)
end if
end if

link_type = "0"
link_adress_server = ""
if pageurl <> "" then
if left(lcase(link_adress),len("ftp://")) = lcase("ftp://") then
link_type = "4"
elseif left(lcase(link_adress),len("javascript:")) = lcase("javascript:")
then
link_type = "5"
elseif left(lcase(link_adress),len("mailto:")) = lcase("mailto:") then
link_type = "6"
elseif left(lcase(link_adress),len("https://")) = lcase("https://") then
link_type = "7"
else
pageurl_server = mid(pageurl,Instr(pageurl,"//")+2)
if Instr(pageurl_server,"/") > 0 then pageurl_server =
left(pageurl_server,Instr(pageurl_server,"/")-1)

if Instr(mid(pageurl,Instr(pageurl,"//")+2),"/") > 0 then
'!!! pageurl_folder virker ikke optimalt, da sidens adresse både kan være
en mappe og adressen på en side
pageurl_folder = left(pageurl,InstrRev(pageurl,"/")-1)
else
pageurl_folder = pageurl
end if

'if Instr(8,pageurl,"/") > 0 then
' 'pageurl_folder = left(pageurl,InstrRev(pageurl,"/")-1)
' tmpfolder = mid(pageurl,Instr(pageurl,"//")+2)
' pageurl_folder = "/" & mid(tmpfolder,InstrRev(tmpfolder,"/")+1)
'else
' pageurl_folder = pageurl
'end if

if left(lcase(link_adress),len("http://")) <> lcase("http://") then
if left(link_adress,1) = "/" then
'undersøg om det er et link til en underside
link_type = "2"
link_adress = "http://" & pageurl_server & link_adress
else
if left(lcase(pageurl_folder),7) = "http://" then
link_adress = pageurl_folder & "/" & "" & link_adress
else
link_adress = "http://" & pageurl_server & "/" & pageurl_folder & "/"
& "" & link_adress
end if

'link_adress = "http://" & pageurl_server & "/" & link_adress
end if
end if

link_adress_server = mid(link_adress,Instr(link_adress,"//")+2)
if Instr(link_adress_server,"/") > 0 then link_adress_server =
left(link_adress_server,Instr(link_adress_server,"/")-1)

'!!! der er taget højde for at der kan være links hvor det kun er
domainnavn der er intastet, (som ikke ender på /)

if left(lcase(link_adress),len(pageurl_folder)) = lcase(pageurl_folder)
then
link_type = "1"
elseif lcase(link_adress_server) = lcase(pageurl_server) then
link_type = "2"
else
link_type = "3"
end if
end if
end if

if links_count > 1 and link_adress <> "" then
FindLinks = FindLinks & link_adress & Chr(9) & link_type & Chr(9) &
link_adress_server & VbCrLf
end if

Next

if links_count = 0 then links_count = 1
FindLinks = FindLinks & "'''Antal 'src' links fundet: " & links_count-1 &
VbCrLf
'FindLinks = "ok"

links_count = 0

For each link in Split(htmltext,"open(")
links_count = links_count+1
link_adress = ""
if left(link,1) = "'" and Instr(2,link,"'",1) > 0 then
if Instr(2,link,">",1) > Instr(2,link,"'",1) or Instr(link,">") = 0 then
link_adress = mid(link,2,Instr(2,link,"'",1)-2)
else
'link_adress = mid(link,2,Instr(2,link,">",1)-2)
link_adress = mid(link,2,Instr(mid(link,2),">")-1)
end if
elseif left(link,1) = """" and Instr(2,link,"""",1) > 0 then
if Instr(2,link,">",1) > Instr(2,link,"""",1) or Instr(link,">") = 0 then
'link_adress = mid(link,2,Instr(2,link,"""",1)-2)
link_adress = mid(link,2,Instr(mid(link,2),"""")-1)
else
'link_adress = mid(link,2,Instr(2,link,">",1)-2)
if Instr(mid(link,2),">") > 0 then link_adress =
mid(link,2,Instr(mid(link,2),">")-1)
end if
elseif Instr(2,link," ",1) > 0 or Instr(2,link,">",1) > 0 then
if Instr(1,link,">",1) > Instr(1,link," ",1) or Instr(link,">") = 0 then
link_adress = mid(link,1,Instr(1,link," ",1)-1)
else
link_adress = mid(link,1,Instr(1,link,">",1)-1)
end if
end if

link_type = "0"
link_adress_server = ""
if pageurl <> "" then
if left(lcase(link_adress),len("ftp://")) = lcase("ftp://") then
link_type = "4"
elseif left(lcase(link_adress),len("javascript:")) = lcase("javascript:")
then
link_type = "5"
elseif left(lcase(link_adress),len("mailto:")) = lcase("mailto:") then
link_type = "6"
elseif left(lcase(link_adress),len("https://")) = lcase("https://") then
link_type = "7"
else
pageurl_server = mid(pageurl,Instr(pageurl,"//")+2)
if Instr(pageurl_server,"/") > 0 then pageurl_server =
left(pageurl_server,Instr(pageurl_server,"/")-1)

if Instr(mid(pageurl,Instr(pageurl,"//")+2),"/") > 0 then
'!!! pageurl_folder virker ikke optimalt, da sidens adresse både kan være
en mappe og adressen på en side
pageurl_folder = left(pageurl,InstrRev(pageurl,"/")-1)
else
pageurl_folder = pageurl
end if

'if Instr(8,pageurl,"/") > 0 then
' 'pageurl_folder = left(pageurl,InstrRev(pageurl,"/")-1)
' tmpfolder = mid(pageurl,Instr(pageurl,"//")+2)
' pageurl_folder = "/" & mid(tmpfolder,InstrRev(tmpfolder,"/")+1)
'else
' pageurl_folder = pageurl
'end if

'response.write pageurl_server & "<br>"

if left(lcase(link_adress),len("http://")) <> lcase("http://") then
if left(link_adress,1) = "/" then
'undersøg om det er et link til en underside
link_type = "2"
link_adress = "http://" & pageurl_server & link_adress
else
if left(lcase(pageurl_folder),7) = "http://" then
link_adress = pageurl_folder & "/" & "" & link_adress
else
link_adress = "http://" & pageurl_server & "/" & pageurl_folder & "/"
& "" & link_adress
end if

'link_adress = "http://" & pageurl_server & "/" & link_adress
end if
end if

link_adress_server = mid(link_adress,Instr(link_adress,"//")+2)
if Instr(link_adress_server,"/") > 0 then link_adress_server =
left(link_adress_server,Instr(link_adress_server,"/")-1)

'!!! der er taget højde for at der kan være links hvor det kun er
domainnavn der er intastet, (som ikke ender på /)

if left(lcase(link_adress),len(pageurl_folder)) = lcase(pageurl_folder)
then
link_type = "1"
elseif lcase(link_adress_server) = lcase(pageurl_server) then
link_type = "2"
else
link_type = "3"
end if
end if
end if

if links_count > 1 and link_adress <> "" then
FindLinks = FindLinks & link_adress & Chr(9) & link_type & Chr(9) &
link_adress_server & VbCrLf
end if

Next

if links_count = 0 then links_count = 1
FindLinks = FindLinks & "'''Antal 'open' links fundet: " & links_count-1 &
VbCrLf
'FindLinks = "ok"

links_count = 0

'response.write pageurl_server & "<br>" & link_adress_server

End Function

- - -
Denne besked er sendt gennem http://cht.dk... Online portal, kalender og
konferencesystem...



Michael Tillgaard (18-03-2007)
Kommentar
Fra : Michael Tillgaard


Dato : 18-03-07 15:18

Klip
>
> Helt i orden her er funktionen og noget kode der kan hente siden og finde ud
> af hvilke filer der skal hentes:
>
> link1 = "http://62.141.52.152/62.141.52.152/"
> text1 = GetHttp(link1)
>
Klip

Hej

Får desværre en fejlmelding:

Microsoft VBScript runtime error '800a000d'

Type mismatch: 'GetHttp'

Ved du hvad der er galt?

Mvh.

Michael

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Christoffer (18-03-2007)
Kommentar
Fra : Christoffer


Dato : 18-03-07 15:47

"Michael Tillgaard" <post@fast-klan.dk> skrev i en meddelelse news:45fd4a17$0$90275$14726298@news.sunsite.dk...
> Klip
> >
> > Helt i orden her er funktionen og noget kode der kan hente siden og finde ud
> > af hvilke filer der skal hentes:
> >
> > link1 = "http://62.141.52.152/62.141.52.152/"
> > text1 = GetHttp(link1)
> >
> Klip
>
> Hej
>
> Får desværre en fejlmelding:
>
> Microsoft VBScript runtime error '800a000d'
>
> Type mismatch: 'GetHttp'
>
> Ved du hvad der er galt?
>

Ja, du skal også bruge den funktion jeg sendte i den første besked. Her er hele scriptet med de funktioner der skal bruges, jeg har
testet det hos mig selv og her virker det, det kræver selvfølgelig at du har adgang til Socket.TCP og Scripting.FileSystemObject
ellers virker det her script ikke.

Med venlig hilsen Christoffer

<%
Server.ScriptTimeOut = 3600
response.buffer = false

response.write "Henter siden...<br>"

link1 = "http://62.141.52.152/62.141.52.152/"
text1 = GetHttp(link1)

response.write "Siden er hentet, henter undersider...<br>"

For each link_found in Split(FindLinks(text1,link1),VbCrLf)
if link_found <> "" then

response.write "Henter: " & link_found & "<br>"
tmplink = left(link_found,Instr(link_found,Chr(9))-1)
filetype = mid(tmplink,InstrRev(tmplink,".")+1)

if lcase(filetype) = "png" then
strhttp = GetHttp(tmplink)
filedata = mid(strhttp,Instr(strhttp,VbCrLf&VbCrLf)+len(VbCrLf&VbCrLf))
filedata = StringToBinary(filedata)
FileName = mid(tmplink,InstrRev(tmplink,"/")+1)
FileName = Server.Mappath(FileName)
tmp = WriteToFile(FileName,filedata)
end if

end if
Next

response.write "Udført, alle sider er hentet..."

Function StringToBinary(S)
Dim i, ByteArray
For i=1 To Len(S)
ByteArray = ByteArray & ChrB(Asc(Mid(S,i,1)))
Next
StringToBinary = ByteArray
End Function

Function WriteToFile(strFileSpec,bstrPostData)
'det ser tilsyneladende ud til at det ved binære filer skal være
'intEndPos = len(bstrPostData)*2
'og ved tekst filer skal være
'intEndPos = len(bstrPostData)*2+1
Set fs = CreateObject("Scripting.FileSystemObject") 'Filsystem objekt
Set ts = fs.CreateTextFile(strFileSpec, True) 'Åbn outputfil, overskriv evt. eksisterende
intStartPos = 1
intEndPos = len(bstrPostData)*2+1 'for at gøre det muligt også at gemme tekst filer er der tilføjet +1
For i = intStartPos To intEndPos
if MidB(bstrPostData, i, 1) = "" then Exit For 'denne linje er tilføjet for at det både virker med tekstfiler og binære filer.
ts.Write(Chr(AscB(MidB(bstrPostData, i, 1)))) 'Skriv data eet tegn af gangen
Next
ts.Close 'Luk outputfil
End Function

Function GetHttp(strUrl)
tmpstrurl = strurl
on error resume next

if left(lcase(tmpstrurl),7) = "http://" then tmpstrurl = mid(tmpstrurl,8)

if Instr(tmpstrurl,"/") > 0 then
strHost = left(tmpstrurl,Instr(tmpstrurl,"/")-1)
strPage = mid(tmpstrurl,Instr(tmpstrurl,"/"))
else
strHost = tmpstrurl
strPage = "/"
end if

'response.write "Url: http://" & tmpstrurl & "<br>"
'response.write "Host: " & strHost & "<br>"
'response.write "Page: " & strPage & "<hr>"

'--- start * download page/file ---
'> Eksempel:
'strHost = "cht.dk"
'strPage = "/kontakt.asp"

set Socket = server.CreateObject("Socket.TCP")
socket.Host = strHost & ":80"
Socket.TimeOut = 8000
Socket.Open

Socket.SendLine("GET " & strPage & " HTTP/1.0" & Chr(13) & Chr(10) & "Host: " & strHost & Chr(13) & Chr(10))
Socket.WaitForDisconnect()
GetHttp = Socket.Buffer
Socket.Close()
Set Socket = Nothing
End Function

Function FindLinks(htmltext,pageurl)
'Information: Finder links i html tekst, skriver links, derefter evt. link-tekst og til sidst evt. title-tekst. Disse tre dele
adskilles med tab "Chr(9)".
'
'Opdateret:
'13:09 24-06-2006
'17:43 30-01-2007
'14:51 09-02-2007

response.write pageurl & "<br>"
response.write pageurl_server & "<br>"

'nb. denne version finder kun links ikke link-tekst, og evt. link-title.
'
'typer links:
'href=
'src=
'open('
'link metoder:
'http://
'https://
'mailto:
'javascript:
'ftp://
'
'find ud af hvilken form for link der er tale om:
'1. link til underside.
'2. link til side på samme domain-navn.
'3. link til ekstern side.
'3b. link indeholder domain-navn.
'4. link til ftp-server.
'5. link til javascript.
'6. link til e-mail.
'7. link til sikker side.
'0. ikke fundet (ukendt type).

links_count = 0

htmltext = replace(htmltext,"href=","href=",1,-1,1)
htmltext = replace(htmltext,"src=","src=",1,-1,1)
htmltext = replace(htmltext,"open('","open('",1,-1,1)

For each link in Split(htmltext,"href=")
links_count = links_count+1
link_adress = ""
if left(link,1) = "'" and Instr(2,link,"'",1) > 0 then
if Instr(2,link,">",1) > Instr(2,link,"'",1) or Instr(link,">") = 0 then
link_adress = mid(link,2,Instr(2,link,"'",1)-2)
else
link_adress = mid(link,2,Instr(2,link,">",1)-2)
end if
elseif left(link,1) = """" and Instr(2,link,"""",1) > 0 then
if Instr(2,link,">",1) > Instr(2,link,"""",1) or Instr(link,">") = 0 then
'link_adress = mid(link,2,Instr(2,link,"""",1)-2)
link_adress = mid(link,2,Instr(mid(link,2),"""")-1)
else
'link_adress = mid(link,2,Instr(2,link,">",1)-2)
if Instr(mid(link,2),">") > 0 then link_adress = mid(link,2,Instr(mid(link,2),">")-1)
end if
elseif Instr(2,link," ",1) > 0 or Instr(2,link,">",1) > 0 then
if Instr(link,">") > Instr(link," ") or Instr(link,">") = 0 then
link_adress = mid(link,1,Instr(1,link," ",1)-1)
else
link_adress = mid(link,1,Instr(1,link,">",1)-1)
end if
end if

link_type = "0"
link_adress_server = ""
if pageurl <> "" then
if left(lcase(link_adress),len("ftp://")) = lcase("ftp://") then
link_type = "4"
elseif left(lcase(link_adress),len("javascript:")) = lcase("javascript:") then
link_type = "5"
elseif left(lcase(link_adress),len("mailto:")) = lcase("mailto:") then
link_type = "6"
elseif left(lcase(link_adress),len("https://")) = lcase("https://") then
link_type = "7"
else
pageurl_server = mid(pageurl,Instr(pageurl,"//")+2)
if Instr(pageurl_server,"/") > 0 then pageurl_server = left(pageurl_server,Instr(pageurl_server,"/")-1)

if Instr(mid(pageurl,Instr(pageurl,"//")+2),"/") > 0 then
'!!! pageurl_folder virker ikke optimalt, da sidens adresse både kan være en mappe og adressen på en side
pageurl_folder = left(pageurl,InstrRev(pageurl,"/")-1)
else
pageurl_folder = pageurl
end if

if left(lcase(link_adress),len("http://")) <> lcase("http://") then
if left(link_adress,1) = "/" then
'undersøg om det er et link til en underside
link_type = "2"
link_adress = "http://" & pageurl_server & link_adress
else
if left(lcase(pageurl_folder),7) = "http://" then
link_adress = pageurl_folder & "/" & "" & link_adress
else
link_adress = "http://" & pageurl_server & "/" & pageurl_folder & "/" & "" & link_adress
end if

'link_adress = "http://" & pageurl_server & "/" & pageurl_folder & "/" & link_adress
end if
end if

link_adress_server = mid(link_adress,Instr(link_adress,"//")+2)
if Instr(link_adress_server,"/") > 0 then link_adress_server = left(link_adress_server,Instr(link_adress_server,"/")-1)

'!!! der er taget højde for at der kan være links hvor det kun er domainnavn der er intastet, (som ikke ender på /)

if left(lcase(link_adress),len(pageurl_folder)) = lcase(pageurl_folder) then
link_type = "1"
elseif lcase(link_adress_server) = lcase(pageurl_server) then
link_type = "2"
else
link_type = "3"
end if
end if
end if
if links_count > 1 and link_adress <> "" then
FindLinks = FindLinks & link_adress & Chr(9) & link_type & Chr(9) & link_adress_server & VbCrLf
end if
Next

if links_count = 0 then links_count = 1

FindLinks = FindLinks & "'''Antal 'href' links fundet: " & links_count-1 & VbCrLf
links_count = 0

For each link in Split(htmltext,"src=")
links_count = links_count+1
link_adress = ""
if left(link,1) = "'" and Instr(2,link,"'",1) > 0 then
if Instr(2,link,">",1) > Instr(2,link,"'",1) or Instr(link,">") = 0 then
link_adress = mid(link,2,Instr(2,link,"'",1)-2)
else
'link_adress = mid(link,2,Instr(2,link,">",1)-2)
link_adress = mid(link,2,Instr(mid(link,2),">")-1)
end if
elseif left(link,1) = """" and Instr(2,link,"""",1) > 0 then
if Instr(2,link,">",1) > Instr(2,link,"""",1) or Instr(link,">") = 0 then
'link_adress = mid(link,2,Instr(2,link,"""",1)-2)
link_adress = mid(link,2,Instr(mid(link,2),"""")-1)
else
'link_adress = mid(link,2,Instr(2,link,">",1)-2)
if Instr(mid(link,2),">") > 0 then link_adress = mid(link,2,Instr(mid(link,2),">")-1)
end if
elseif Instr(2,link," ",1) > 0 or Instr(2,link,">",1) > 0 then
if Instr(1,link,">",1) > Instr(1,link," ",1) or Instr(link,">") = 0 then
link_adress = mid(link,1,Instr(1,link," ",1)-1)
else
link_adress = mid(link,1,Instr(1,link,">",1)-1)
end if
end if

link_type = "0"
link_adress_server = ""
if pageurl <> "" then
if left(lcase(link_adress),len("ftp://")) = lcase("ftp://") then
link_type = "4"
elseif left(lcase(link_adress),len("javascript:")) = lcase("javascript:") then
link_type = "5"
elseif left(lcase(link_adress),len("mailto:")) = lcase("mailto:") then
link_type = "6"
elseif left(lcase(link_adress),len("https://")) = lcase("https://") then
link_type = "7"
else
pageurl_server = mid(pageurl,Instr(pageurl,"//")+2)
if Instr(pageurl_server,"/") > 0 then pageurl_server = left(pageurl_server,Instr(pageurl_server,"/")-1)

if Instr(mid(pageurl,Instr(pageurl,"//")+2),"/") > 0 then
'!!! pageurl_folder virker ikke optimalt, da sidens adresse både kan være en mappe og adressen på en side
pageurl_folder = left(pageurl,InstrRev(pageurl,"/")-1)
else
pageurl_folder = pageurl
end if

'if Instr(8,pageurl,"/") > 0 then
' 'pageurl_folder = left(pageurl,InstrRev(pageurl,"/")-1)
' tmpfolder = mid(pageurl,Instr(pageurl,"//")+2)
' pageurl_folder = "/" & mid(tmpfolder,InstrRev(tmpfolder,"/")+1)
'else
' pageurl_folder = pageurl
'end if

if left(lcase(link_adress),len("http://")) <> lcase("http://") then
if left(link_adress,1) = "/" then
'undersøg om det er et link til en underside
link_type = "2"
link_adress = "http://" & pageurl_server & link_adress
else
if left(lcase(pageurl_folder),7) = "http://" then
link_adress = pageurl_folder & "/" & "" & link_adress
else
link_adress = "http://" & pageurl_server & "/" & pageurl_folder & "/" & "" & link_adress
end if

'link_adress = "http://" & pageurl_server & "/" & link_adress
end if
end if

link_adress_server = mid(link_adress,Instr(link_adress,"//")+2)
if Instr(link_adress_server,"/") > 0 then link_adress_server = left(link_adress_server,Instr(link_adress_server,"/")-1)

'!!! der er taget højde for at der kan være links hvor det kun er domainnavn der er intastet, (som ikke ender på /)

if left(lcase(link_adress),len(pageurl_folder)) = lcase(pageurl_folder) then
link_type = "1"
elseif lcase(link_adress_server) = lcase(pageurl_server) then
link_type = "2"
else
link_type = "3"
end if
end if
end if

if links_count > 1 and link_adress <> "" then
FindLinks = FindLinks & link_adress & Chr(9) & link_type & Chr(9) & link_adress_server & VbCrLf
end if

Next

if links_count = 0 then links_count = 1
FindLinks = FindLinks & "'''Antal 'src' links fundet: " & links_count-1 & VbCrLf
'FindLinks = "ok"

links_count = 0

For each link in Split(htmltext,"open(")
links_count = links_count+1
link_adress = ""
if left(link,1) = "'" and Instr(2,link,"'",1) > 0 then
if Instr(2,link,">",1) > Instr(2,link,"'",1) or Instr(link,">") = 0 then
link_adress = mid(link,2,Instr(2,link,"'",1)-2)
else
'link_adress = mid(link,2,Instr(2,link,">",1)-2)
link_adress = mid(link,2,Instr(mid(link,2),">")-1)
end if
elseif left(link,1) = """" and Instr(2,link,"""",1) > 0 then
if Instr(2,link,">",1) > Instr(2,link,"""",1) or Instr(link,">") = 0 then
'link_adress = mid(link,2,Instr(2,link,"""",1)-2)
link_adress = mid(link,2,Instr(mid(link,2),"""")-1)
else
'link_adress = mid(link,2,Instr(2,link,">",1)-2)
if Instr(mid(link,2),">") > 0 then link_adress = mid(link,2,Instr(mid(link,2),">")-1)
end if
elseif Instr(2,link," ",1) > 0 or Instr(2,link,">",1) > 0 then
if Instr(1,link,">",1) > Instr(1,link," ",1) or Instr(link,">") = 0 then
link_adress = mid(link,1,Instr(1,link," ",1)-1)
else
link_adress = mid(link,1,Instr(1,link,">",1)-1)
end if
end if

link_type = "0"
link_adress_server = ""
if pageurl <> "" then
if left(lcase(link_adress),len("ftp://")) = lcase("ftp://") then
link_type = "4"
elseif left(lcase(link_adress),len("javascript:")) = lcase("javascript:") then
link_type = "5"
elseif left(lcase(link_adress),len("mailto:")) = lcase("mailto:") then
link_type = "6"
elseif left(lcase(link_adress),len("https://")) = lcase("https://") then
link_type = "7"
else
pageurl_server = mid(pageurl,Instr(pageurl,"//")+2)
if Instr(pageurl_server,"/") > 0 then pageurl_server = left(pageurl_server,Instr(pageurl_server,"/")-1)

if Instr(mid(pageurl,Instr(pageurl,"//")+2),"/") > 0 then
'!!! pageurl_folder virker ikke optimalt, da sidens adresse både kan være en mappe og adressen på en side
pageurl_folder = left(pageurl,InstrRev(pageurl,"/")-1)
else
pageurl_folder = pageurl
end if

'if Instr(8,pageurl,"/") > 0 then
' 'pageurl_folder = left(pageurl,InstrRev(pageurl,"/")-1)
' tmpfolder = mid(pageurl,Instr(pageurl,"//")+2)
' pageurl_folder = "/" & mid(tmpfolder,InstrRev(tmpfolder,"/")+1)
'else
' pageurl_folder = pageurl
'end if

'response.write pageurl_server & "<br>"

if left(lcase(link_adress),len("http://")) <> lcase("http://") then
if left(link_adress,1) = "/" then
'undersøg om det er et link til en underside
link_type = "2"
link_adress = "http://" & pageurl_server & link_adress
else
if left(lcase(pageurl_folder),7) = "http://" then
link_adress = pageurl_folder & "/" & "" & link_adress
else
link_adress = "http://" & pageurl_server & "/" & pageurl_folder & "/" & "" & link_adress
end if

'link_adress = "http://" & pageurl_server & "/" & link_adress
end if
end if

link_adress_server = mid(link_adress,Instr(link_adress,"//")+2)
if Instr(link_adress_server,"/") > 0 then link_adress_server = left(link_adress_server,Instr(link_adress_server,"/")-1)

'!!! der er taget højde for at der kan være links hvor det kun er domainnavn der er intastet, (som ikke ender på /)

if left(lcase(link_adress),len(pageurl_folder)) = lcase(pageurl_folder) then
link_type = "1"
elseif lcase(link_adress_server) = lcase(pageurl_server) then
link_type = "2"
else
link_type = "3"
end if
end if
end if

if links_count > 1 and link_adress <> "" then
FindLinks = FindLinks & link_adress & Chr(9) & link_type & Chr(9) & link_adress_server & VbCrLf
end if

Next

if links_count = 0 then links_count = 1
FindLinks = FindLinks & "'''Antal 'open' links fundet: " & links_count-1 & VbCrLf
'FindLinks = "ok"

links_count = 0

'response.write pageurl_server & "<br>" & link_adress_server

End Function
%>

- - -
Denne besked er sendt gennem http://cht.dk... Online portal, kalender og
konferencesystem...



Michael Tillgaard (18-03-2007)
Kommentar
Fra : Michael Tillgaard


Dato : 18-03-07 16:19

Christoffer wrote in dk.edb.internet.webdesign.serverside.asp:
Klip
> Ja, du skal også bruge den funktion jeg sendte i den første besked. Her er hele scriptet med de funktioner der skal bruges, jeg har
> testet det hos mig selv og her virker det, det kræver selvfølgelig at du har adgang til Socket.TCP og Scripting.FileSystemObject
> ellers virker det her script ikke.
>
Klip
Det er muligt jeg ikke har adgang.
Siden ligger her: http://www.fast-klan.dk/view1.asp

Får følgende fejl:
Microsoft VBScript runtime error '800a0005'

Invalid procedure call or argument: 'left'

/view1.asp, line 24

Linie 24 = tmplink = left(link_found,Instr(link_found,Chr(9))-1)
Kan jeg se din side?
Mvh. Michael

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Christoffer (18-03-2007)
Kommentar
Fra : Christoffer


Dato : 18-03-07 18:29


"Michael Tillgaard" <post@fast-klan.dk> skrev i en meddelelse
news:45fd5854$0$90265$14726298@news.sunsite.dk...
> Christoffer wrote in dk.edb.internet.webdesign.serverside.asp:
> Klip
> > Ja, du skal også bruge den funktion jeg sendte i den første besked. Her
er hele scriptet med de funktioner der skal bruges, jeg har
> > testet det hos mig selv og her virker det, det kræver selvfølgelig at du
har adgang til Socket.TCP og Scripting.FileSystemObject
> > ellers virker det her script ikke.
> >
> Klip
> Det er muligt jeg ikke har adgang.
> Siden ligger her: http://www.fast-klan.dk/view1.asp
>
> Får følgende fejl:
> Microsoft VBScript runtime error '800a0005'
>
> Invalid procedure call or argument: 'left'
>
> /view1.asp, line 24
>
> Linie 24 = tmplink = left(link_found,Instr(link_found,Chr(9))-1)
> Kan jeg se din side?

Du kan ikke se min side, da der ikke er adgang til min computer via
internettet, men prøv at erstatte denne linje:

if link_found <> "" then

med denne linje:

if Instr(link_found,Chr(9)) > 0 then

Med venlig hilsen Christoffer

- - -
Denne besked er sendt gennem http://cht.dk... Online portal, kalender og
konferencesystem...



Christoffer (18-03-2007)
Kommentar
Fra : Christoffer


Dato : 18-03-07 18:45

"Michael Tillgaard" <post@fast-klan.dk> skrev i en meddelelse
news:45fd5854$0$90265$14726298@news.sunsite.dk...
> Christoffer wrote in dk.edb.internet.webdesign.serverside.asp:
> Klip
> > Ja, du skal også bruge den funktion jeg sendte i den første besked. Her
er hele scriptet med de funktioner der skal bruges, jeg har
> > testet det hos mig selv og her virker det, det kræver selvfølgelig at du
har adgang til Socket.TCP og Scripting.FileSystemObject
> > ellers virker det her script ikke.
> >
> Klip
> Det er muligt jeg ikke har adgang.
> Siden ligger her: http://www.fast-klan.dk/view1.asp
>
> Får følgende fejl:
> Microsoft VBScript runtime error '800a0005'
>
> Invalid procedure call or argument: 'left'
>
> /view1.asp, line 24
>
> Linie 24 = tmplink = left(link_found,Instr(link_found,Chr(9))-1)
> Kan jeg se din side?

Jeg tror det ikke virker fordi Socket.TCP ikke er installeret på
webserveren.

Med venlig hilsen Christoffer

- - -
Denne besked er sendt gennem http://cht.dk... Online portal, kalender og
konferencesystem...



Michael Tillgaard (18-03-2007)
Kommentar
Fra : Michael Tillgaard


Dato : 18-03-07 20:37

Christoffer wrote in dk.edb.internet.webdesign.serverside.asp:
> "Michael Tillgaard" <post@fast-klan.dk> skrev i en meddelelse
> news:45fd5854$0$90265$14726298@news.sunsite.dk...
> > Christoffer wrote in dk.edb.internet.webdesign.serverside.asp:
> > Klip
> > > Ja, du skal også bruge den funktion jeg sendte i den første besked. Her
> er hele scriptet med de funktioner der skal bruges, jeg har
> > > testet det hos mig selv og her virker det, det kræver selvfølgelig at du
> har adgang til Socket.TCP og Scripting.FileSystemObject
> > > ellers virker det her script ikke.
> > >
> > Klip
> > Det er muligt jeg ikke har adgang.
> > Siden ligger her: http://www.fast-klan.dk/view1.asp
> >
> > Får følgende fejl:
> > Microsoft VBScript runtime error '800a0005'
> >
> > Invalid procedure call or argument: 'left'
> >
> > /view1.asp, line 24
> >
> > Linie 24 = tmplink = left(link_found,Instr(link_found,Chr(9))-1)
> > Kan jeg se din side?
>
> Jeg tror det ikke virker fordi Socket.TCP ikke er installeret på
> webserveren.
>
> Med venlig hilsen Christoffer
>
> - - -
> Denne besked er sendt gennem http://cht.dk... Online portal, kalender og
> konferencesystem...
>
Hej Christoffer
Du har nok ret.
Jeg vil lige forhøre mig ved min webudbyder.
Men tusinde tak for dit forsøg. Jeg erstattede det du skrev og får nu ikke
nogen fejlmelding men der sker heller ikke rigt noget.

Mvh
Michael

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søg
Reklame
Statistik
Spørgsmål : 177547
Tips : 31968
Nyheder : 719565
Indlæg : 6408797
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste