hi,
Was sind denn mögliche Fehler und wie bekomme ich sie raus?
int fsockopen ( string $target, int $port [, int $errno [, string $errstr [, double $timeout]]] )
Steht in der errno der Responsecode?!? also z.B. 200, 400 etc.?
Nein, natürlich nicht.
Du hast bisher nur eine Verbindung zu einem Server aufgebaut, bist noch gar nicht auf HTTP-Ebene - also nix mit HTTP Statuscodes.
was kann da stehen
Siehe Manual:
"Wenn der Aufruf der Funktion scheitert, gibt er FALSE / falsch zurück und wenn die optionalen errno und errstr Argumente vorhanden sind, enthalten sie den aktuellen System-Fehler, der beim Aufruf der System-Funktion connect() (Verbindungsaufbau) erscheint bzw. passiert ist."
Da müsstest du also wohl in deine "System-Doku" schauen, wenn du das wissen willst.
Aber ich denke, dass ist für so ein Script sowieso nicht relevant - dich interessiert nur, hat der Verbindungsaufbau geklappt, oder nicht.
Ausgabe von $errstr bspw. könnte dann für einen System-Admin nice to know sein - aber für dich, auf PHP-Ebene, in den meisten Fällen nicht.
Lediglich Fehler, die in deinem Verantwortungsbereich liegen, wären noch interessant und ggf. behandelbar - wie bspw., wenn du einen Hostnamen anzusprechen versuchst, den es gar nicht gibt. Was dabei herauskommt, lässt sich ja recht einfach testen.
Also ich denke mögliche fehler könnten sein:
- Serverdown
Ergibt einen Timeout.
- angesprochenes Script nicht Verfügbar
Interessiert sich fsockopen nicht die Bohne für - noch mal: Zu dem Zeitpunkt bist du noch nicht mal auf der Ebene HTTP.
- Authentifizierung fehlgeschlagen
... s.o.
- angesprochenes Script kann mit übermittelten Daten nichts anfangen.
... s.o.
Fehler auf HTTP-Ebene bekommst du erst beim Einlesen der Antwort der Gegenstelle mit.
gruß,
wahsaga
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }