Moin!
Eigentlich möcht ich hier ungern als Themenpusher geahntet werden, jedoch hab ich mich noch an eine andere Lösung gewagt und dabei kamen mir eventuelle Fehlerquellen in den Sinn ...
Lokal getestet, funktioniert der Zugriff einwandfrei, jedoch auf den eigentlichen Webservice angewendet, gibts natürlich wieder Problemchen mit folgenden Meldungen ...
"Warning: fwrite(): supplied argument is not a valid stream resource in C:\Program Files\xampp\htdocs\web.php on line 16
Offensichtlich ist fsockopen() gescheitert. Die Doku sagt:
"Return Values
fsockopen() returns a file pointer which may be used together with the other file functions (such as fgets(), fgetss(), fwrite(), fclose(), and feof()). If the call fails, it will return FALSE"
Der Rest sind Folgefehler.
Da du den Erfolg von fsockopen() nicht prüfst, rennt dein Programm also hilflos in die Katastrophe. Dabei kannst du nicht nur den Erfolg ermitteln, sondern durch weitere Parameter auch die Fehlerursache ermitteln. Siehe http://www.php.net/fsockopen...
Für mich liegt entsprechend die Vermutung nahe, dass überhaupt keine Connection zu dem Server aufgebaut werden kann, ich bin derzeit dabei zu klären ob ich einen anderen Port und/oder Proxy verwenden muss, wobei mich interessiert, wie gebe ich dabei einen Proxy an oder kümmert sich darum der Browser??
Diese Vermutung könntest du ja mal durch Fehlerbehandlung bestätigen oder verwerfen.
Was die Verwendung eines bestimmten Ports angeht: Das hängt ausschließlich vom Service ab, den du abrufen willst. Wenn der HTTP auf dem Standardport spricht, ist 80 die richtige Wahl. Zumindest bei fsockopen(). Hingegen gehört der Port IMHO NICHT in den HTTP-Host-Header.
Ob du einen Proxy verwenden mußt, um von deinem Server ins Internet zu kommen, kann ich dir ebensowenig sagen, das mußt du selbst wissen. Frag deinen Netzwerkadministrator, der weiß das.
Aber wenn ja, dann mußt du die Proxynutzung entsprechend programmieren. Dein Browser kann sich darum gar nicht kümmern, weil der mit dem Service-Server ja gar nicht kommuniziert.
- Sven Rautenberg
"Love your nation - respect the others."