Hallo und guten Morgen Martin,
Verstehe ich jetzt nicht.
Error-Nummer 0 bedeutet: kein Fehler.genauer: Kein Fehler an deinem Ende der Verbindung. Es kann aber durchaus sein, dass auf der Serverseite irgendein logischer Fehler auftritt, vielleicht weil der Programmierer des Scripts bestimmte Header erwartet hat, die du nicht sendest (z.B. ein User-Agent oder ein Referer), den Fehler nicht ordnungsgemäß abfängt und stattdessen einfachsein Script sterben lässt. Ergebnis könnte ein Schließen der Verbindung ohne Fehler sein, wenn du es noch nicht erwartest.
Und wenn fsockopen nicht arbeiten würde, würden auch keine HTTP-Header mehr angezeigt werden.
Richtig. Also kommt eine Socket-Verbindung zustande, und das Script am anderen Ende der Verbindung tut auch irgendwas. Nur wird es damit möglicherweise nicht fertig.
Und warum kann der Server dann auf file_get_contents() eine Antwort liefern?
Ich habe die Funktion soweit kastriert, dass sie nur noch den HOST-Header sendet, genauso, wie das file_get_contents() bei mir tut. Das habe ich mir mit den Mitteln von PHP und meinen eigenen Server-Log (externer Server, also gleiche Voraussetzungen, wie beim fremden befragten Server) angesehen.
Woraus der Programmierer des Scriptes am besagten fremden Server nun noch erkennen will, ob ich mittels file_get_contents(), oder mittels meines get_page() zugreife, kann ich einfach nicht herausfinden.
Grüße
TS