Avatar billede Slettet bruger
06. august 2003 - 10:46 Der er 11 kommentarer og
1 løsning

Hent HTML fra ekstern hjemmeside

Jeg skal bruge et script som tjekker, om en given hjemmeside er oppe. Jeg henter scriptet med "http://minside.dk/monitor/tjek.asp?webside.dk" og scriptet skal blot retunere 0 eller 1 som resultat.
Avatar billede fangel Nybegynder
06. august 2003 - 10:52 #1
jeg kan intet ASP - men her er en spiseliste på hvordan du skal gøre det:

1) åben en socet til serveren på port 80 (http)
2) send dette til serveren gennem socketen:

---request---
GET /[side] HTTP/0.9
Host: [server]
User-Agent: WebFetch
Connection: Close

---/requst---

3) se om første linie indeholder:

[INTET] == ingen server
"200" == serveren findes + siden findes
ELSE == serveren findes, siden findes ikke/er beskyttet/andet

Morten
Avatar billede grunken Nybegynder
06. august 2003 - 11:03 #2
tjah dea_pg, det er bare en af de ting der er 10 gange lettere at lave i php :(

for det er ikke bare lige at åbne en port i vb :(
Avatar billede klaskeren Nybegynder
06. august 2003 - 11:14 #3
du kan bare bruge ASPhttp, til at hente source code, hvis den så ikke findes er siden nede.
Avatar billede klaskeren Nybegynder
06. august 2003 - 11:14 #4
det var svaret :D
Avatar billede Slettet bruger
06. august 2003 - 11:16 #5
Jeg kender ikke til ASP - kan du give et eksempel?
Avatar billede grunken Nybegynder
06. august 2003 - 11:25 #6
prøv den her :), lige bikset sammen, og ASP er ikke min stærke side!

<%
Function testHTTP (url)
dim objXMLHTTP, resultat

Set objXMLHTTP = Server.CreateObject("Microsoft.XMLHTTP")
objXMLHTTP.Open "GET", URL, false 
objXMLHTTP.Send


if inStr(objXMLHTTP.getAllResponseHeaders, "Server")>0 Then
  resultat=1 'Siden er oppe
Else
  resultat=0 'siden er nede
End If
Set objXMLHTTP = Nothing

testHTTP = resultat

End Function

Response.write testHTTP("http://www.grunken.dk")
%>
Avatar billede Slettet bruger
06. august 2003 - 12:14 #7
Det virker! Bortset fra at denne fejl fremkommer:

error '800c0005'
/test.asp, line 7

Hvis hjemmesiden ikke kan hentes. Og hvordan er det så lige jeg får dit script til at bruge QUERY_STRING automatisk? :)
Avatar billede grunken Nybegynder
06. august 2003 - 13:32 #8
Sorry for den lange svar tid havde lige en anden opgave ;)

jeg har stadig lavet det som en function, da det nemmest giver mulighed for at checke flere sider på samme side :)

men efter lidt læsning hos MS, er jeg kommet frem til det her ;)

tjek.asp

<%
Function testHTTP (url)
dim objXMLHTTP, resultat, html

Set objXMLHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP")
objXMLHTTP.Open "GET", URL, false 
  On Error Resume Next
  objXMLHTTP.Send

  If Not err.number <> 0 Then
    resultat = 1
  Else
    resultat = 0
  End If

  Set objXMLHTTP = Nothing
  testHTTP = resultat
End Function


If testHTTP(request.querystring("http")) = 1 Then
  response.write "siden er oppe" 'eller et billede eller en redirect :)
Else
  response.write "siden er nede" 'eller et billede eller noget
End If
%>

anden fil, hvor du vil checke siden fra laver du bare et link med nedenstående syntax :

<a href="tjek.asp?http=http://www.grunken.dk">check grunken</a>

Mvh
Avatar billede Slettet bruger
06. august 2003 - 15:03 #9
Mange tak :)
Avatar billede grunken Nybegynder
06. august 2003 - 15:13 #10
hmm, jeg skulle åbenbart ik ha points!
Avatar billede Slettet bruger
06. august 2003 - 15:37 #11
Doh... jeg accepterede blot det ene svar der var uden at tjekke om det var dig. Hvordan kan jeg give dig point nu?
Avatar billede grunken Nybegynder
06. august 2003 - 15:53 #12
no can do, nevermind ;), du fik hjælp og det er vel i bund og grund det vigtigste ;)
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