Mehrere Anfragen bei "fsockopen"?

Freak

NULL
Hallo Leute,
ich habe mal wieder ein Problem:

Zuerst stelle ich eine Verbindung her mit fsockopen.
PHP:
$fp = fsockopen("localhost", 80, &$errno, &$errstr);
Dann überprüfe ich die Verbindung und hole mir die Daten, die ich brauche:

PHP:
if(!$fp) {
  die("ERROR: $errstr ($errno)");
} else {
//Hier hole ich mir meine Daten
}
So sammle ich mir die Daten in einer Variable:

PHP:
fputs($fp,"HEAD /divers/seite.php?aktiv=$zaehler HTTP/1.0\nHost: localhost\n\n");

while(!feof($fp)) {
     $inhalt .= "<br>".fgets($fp,128);
}
Wenn ich nun aber die Variable $zaehler ändere und somit eine neue Anfrage machen möchte - dann bekomme ich bei einem erneuten

PHP:
fputs($fp,"HEAD /divers/seite.php?aktiv=$zaehler HTTP/1.0\nHost: localhost\n\n");

while(!feof($fp)) {
     $inhalt .= "<br>".fgets($fp,128);
}
keinen Inhalt mehr.

Das Problem wäre gelöst, wenn ich die Verbindung schließe und wieder öffne - aber das kostet zuviel Zeit.

Ich habe den Verdacht, dass da irgendein Zeiger nicht da ist, wo er sein soll, weiß aber trotzdem nicht wie ich das Problem löse - nicht zulezt weil ich mich mit Zeigern nie anfreunden konnte.

Ich hoffe ihr könnt mir helfen.

DANKE schonmal
 
Ich bin jetzt gerade nicht so RFC konform dabei, aber macht HTTP 1.0 schon persistente Verbindungen?
webdav usw laufen doch auch nur per HTTP 1.1 weil es da meine ich persistente Verbinungen gibt.
Ändere doch mal zum testen der HTTP Header auf 1.1. Ich kann aber nichts versprechen.

EDIT:
achja, wenn du mal in den RFC schaust, guck mal nach ob HTTP nicht CRLF (\r\n) will und nicht LFLF (\n\n) als "trenner" zwischen den argumenten im Header

Gruss
 
Zuletzt bearbeitet:
Der zweite Tipp hat leider auch nichts geholfen -
denn wenn das ein Syntax-Fehler wäre dürfte es doch überhaupt nicht funktioniert haben, oder?

Prinzipiell klappt es ja - nur nicht mehrmals hintereinander.


Ich bitte also weiterhin dringend um Vorschläge :)
 
Zuletzt bearbeitet:
Zurück