Seite 1 von 1

Website aufrufen und "Not Found"-Meldung abfangen

Verfasst: 01.07.2013 14:06
von Angelo
In VBA kann ich die "Not Found"-Meldung, die der Browser sendet, wenn eine Seite nicht existiert, sozusagen abfangen.

Hier ist der entsprechende VBA-Code:

Code: Alles auswählen

Sub Url_Aufrufen()

URL$ = "http://www.purebasic.com/xxx"

On Error GoTo ErrorHandler
ActiveDocument.FollowHyperlink Address:=URL$

End

ErrorHandler:
MsgBox "Seite wurde nicht gefunden!"

End Sub
Es erscheint die Meldung "Seite wurde nicht gefunden" und die "Not-Found"-Browsermeldung wird nicht gezeigt.


Ich habe versucht, das Gleiche in PB zu machen:

Code: Alles auswählen

url$ = "http://www.purebasic.com/xxx"

erg = RunProgram(url$)

Debug Str(erg)
Obwohl die Seite nicht existiert, liefert RunProgram() einen Wert ungleich Null zurück und es wird die "Not Found"-Seite im Browser angezeigt. Kann ich das, was ich im obigen VBA-Code hingekriegt habe, auch in PB realisieren?

Re: Website aufrufen und "Not Found"-Meldung abfangen

Verfasst: 01.07.2013 15:02
von Shardik
Ich würde GetHTTPHeader() einsetzen, um zu überprüfen, ob eine Website existiert:

Code: Alles auswählen

InitNetwork()

Header$ = GetHTTPHeader("http://www.purebasic.com")
Debug StringField(Header$, 1, #CRLF$) ; HTTP/1.1 200 OK

Header$ = GetHTTPHeader("http://www.purebasic.com/xxx")
Debug StringField(Header$, 1, #CRLF$) ; HTTP/1.1 404 Not Found

Header$ = GetHTTPHeader("http://www.gibt-es-ueberhaupt-nicht.de")
Debug StringField(Header$, 1, #CRLF$) ; Leere Zeichenkette, da die Website nicht existiert

Re: Website aufrufen und "Not Found"-Meldung abfangen

Verfasst: 01.07.2013 15:13
von Angelo
Vielen Dank, Shardik! Da muss ich ja nur GetHTTPHeader() vor dem Aufruf von RunProgram() setzen. Das hilft mir!!