Website aufrufen und "Not Found"-Meldung abfangen

Anfängerfragen zum Programmieren mit PureBasic.
Angelo
Beiträge: 102
Registriert: 20.02.2010 14:47
Wohnort: Berlin

Website aufrufen und "Not Found"-Meldung abfangen

Beitrag 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?
PB 5.50; Win 7
Benutzeravatar
Shardik
Beiträge: 746
Registriert: 25.01.2005 12:19

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

Beitrag 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
Angelo
Beiträge: 102
Registriert: 20.02.2010 14:47
Wohnort: Berlin

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

Beitrag von Angelo »

Vielen Dank, Shardik! Da muss ich ja nur GetHTTPHeader() vor dem Aufruf von RunProgram() setzen. Das hilft mir!!
PB 5.50; Win 7
Antworten