Hallo,
ich muss zu einer Seite verbinden und Daten abfragen, doch leider habe ich da ein kleines Problem:
Die Verbindung wurde früher per Flash hergestellt und ich weiß nicht, wie die das ganze gehandelt haben.
Meine derzeitige Funktion:
Ich sehe bei der Sache eigentlich 2 Probleme:
1. Die Daten werden vom Flash-File komisch versendet. Es ist eine POST-Anfrage, jedoch werden keine POST-Parameter übergeben, sondern einfach nur Content:
Als POST-Parameter wird mir gar nichts angezeigt (leer).
Ich habe jetzt halt mal anstatt in der Variable $data_to_send die POST-Variablen halt mal den Content so reingeschrieben.
2. und wohl eher das eigentliche Problem:
Die oben angezeigte Fehlermeldung kommt, wenn ich Connection: close mache. Nach der Fehlermeldung zu urteilen schätze ich, dass er etwas braucht, bis er mir endgültig antworten kann und ich die Verbindung zu schnell beende.
Benutze ich aber Keep-Alive und Connection: keep, dann läd mir die Seite 60 Sekunde und bricht mit einem MaxTimeOut ab.
Ich mache irgendetwas falsch. Aber was?
Konnte auch über die Suche und im Netz nicht wirklich etwas entdecken...
vielen Dank.
gruß
Piremilok
ich muss zu einer Seite verbinden und Daten abfragen, doch leider habe ich da ein kleines Problem:
Fatal error: Uncaught exception 'VerboseException' with message 'Malformed AMF message, connection may have dropped' in /var/www/web102/public_html/amf-core/io/AMFDeserializer.php:149
Stack trace:
#0 [internal function]: amfErrorHandler(1024, 'Malformed AMF m...', '/var/www/crypt-...', 149, Array)
#1 /var/www/web102/public_html/amf-core/io/AMFDeserializer.php(149): trigger_error('Malformed AMF m...')
#2 /var/www/web102/public_html/amf-core/io/AMFDeserializer.php(121): AMFDeserializer->readHeader()
#3 /var/www/web102/public_html/amf-core/app/Filters.php(28): AMFDeserializer->deserialize(Object(AMFObject))
#4 /var/www/web102/public_html/amf-core/app/Gateway.php(166): deserializationFilter(Object(AMFObject))
#5 /var/www/web102/public_html/gateway.php(181): Gateway->service()
#6 {main}
thrown in /var/www/web102/public_html/amf-core/io/AMFDeserializer.php on line 149
Stack trace:
#0 [internal function]: amfErrorHandler(1024, 'Malformed AMF m...', '/var/www/crypt-...', 149, Array)
#1 /var/www/web102/public_html/amf-core/io/AMFDeserializer.php(149): trigger_error('Malformed AMF m...')
#2 /var/www/web102/public_html/amf-core/io/AMFDeserializer.php(121): AMFDeserializer->readHeader()
#3 /var/www/web102/public_html/amf-core/app/Filters.php(28): AMFDeserializer->deserialize(Object(AMFObject))
#4 /var/www/web102/public_html/amf-core/app/Gateway.php(166): deserializationFilter(Object(AMFObject))
#5 /var/www/web102/public_html/gateway.php(181): Gateway->service()
#6 {main}
thrown in /var/www/web102/public_html/amf-core/io/AMFDeserializer.php on line 149
Meine derzeitige Funktion:
PHP-Code:
function PostToHost($host, $path, $data_to_send) {
$fp = fsockopen($host, 80);
//printf("Open!\n");
fputs($fp, "POST $path HTTP/1.1\r\n");
fputs($fp, "Host: $host\r\n");
fputs($fp, "Content-type: application/x-amf\r\n");
fputs($fp, "Content-length: ". strlen($data_to_send) ."\r\n");
fputs($fp, "Keep-Alive: 30\r\n");
fputs($fp, "Connection: keep-alive\r\n");
//fputs($fp, "Connection: close\r\n");
fputs($fp, $data_to_send);
while(!feof($fp)) {
$res .= fgets($fp, 128);
}
fclose($fp);
return $res;
}
1. Die Daten werden vom Flash-File komisch versendet. Es ist eine POST-Anfrage, jedoch werden keine POST-Parameter übergeben, sondern einfach nur Content:
PHP-Code:
getPage/4
Members
Ich habe jetzt halt mal anstatt in der Variable $data_to_send die POST-Variablen halt mal den Content so reingeschrieben.
2. und wohl eher das eigentliche Problem:
Die oben angezeigte Fehlermeldung kommt, wenn ich Connection: close mache. Nach der Fehlermeldung zu urteilen schätze ich, dass er etwas braucht, bis er mir endgültig antworten kann und ich die Verbindung zu schnell beende.
Benutze ich aber Keep-Alive und Connection: keep, dann läd mir die Seite 60 Sekunde und bricht mit einem MaxTimeOut ab.
Ich mache irgendetwas falsch. Aber was?
Konnte auch über die Suche und im Netz nicht wirklich etwas entdecken...
vielen Dank.
gruß
Piremilok
Kommentar