wahsaga: fsockopen

Beitrag lesen

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; }