Hi!
habe herumgespielt und festgestellt, dass bei Post-anfragen immer ein error (not allowed) kommt, gut dachte ich mir, versuche ich Get, da erschien normal 200Ok. Warum passeirt sowas, kann ein Server gewisse Anfragen sperren?
Ja, aber gerade hast Du Doch bei Deinem Script bei einem POSt.Request einen 200er Statuscode bekommen, also wo bekommst Du denn den Fehler?
Nun ja, die Daten kommen nicht, zumindest nicht so wie sie sollen, an. Kurios ist aber, das meine foreach-Schleife mit allen getvars keinen Fehler ausgibt, weil sie keine Einträge hat, sondern den einen EIntrag nicht anzeigt, bzw. scheint da nichts drinzustehen.
Wenn Du einen Post-Request an ein Script sendest, dann schreibe in das Script nur sowas:
<?php
echo "<pre>";
print_r($_POST);
?>
Das was dieses Script ausgibt sollte Dir das sendende Script ausgeben, wenn Du die Daten wie Du es bereits gemacht hast mit fgets oder sowas wieder vom Socket liest.
der status ist aber weiterhin okay, was mache ich nun? Manchmal erscheint auch eine bestimmte Zeile beim ANzeigen des header die ich nicht verstehe... ich kann sie gerade nicht reproduzieren
Welche Zeile? Wo denn genau? Poste mal den komletten Header den Du nicht verstehst. Das Script von Michale Schroepl empfängt einen Request von Deinem Browser, und erzeugt einen eigenen Request auf den angegebenen Server, udn sendet dabei die Header die Dein Browser zuvor gesendet hat. Dann wird die Antwort angezeigt. Sollte Dein Browser Contenbd-encoding: gzip oder deflate senden, und der Server das beherrschen, dan wird der den (HTML)- Contend der Seite gzip-Komprimiert ausliefern, wie zum Beispiel dieses Forum. Aber Du musst den Header ja nicht mit Deinem Script senden, erstmal soll es funktionieren. Später macht es durchaus Sinn so Traffic und Zeit zu sparen.
aber am ENde steht
http://meinserver/ordner/http://meinserver/ordner/kryptischeZahlen -> läuft da irgendwas schief?
Gzip, s.o.
Und das letzte ARgument ist immer eine Null (auch nicht sehr aufbauend)
was für ein argument?
Mir fehlt irgendwie der Ansatz wie ich noch was testen könnte, iregndwo muss der HUnd ja begraben liegen!?
Es geht darum dass Du siehst was bei HTTP-Requests und Responses so für Header hin und hergeschickt werden, das kannst Du da sehr schön sehen. Danach guckst Du Dir nochmal die Beispiele bei fsockopen und den faq an, und probierst es erneut mit Deinen Scripten. Das Script mit fsockopen macht nichts anderes als Dein Browser, er sendet einen HTTP-Request, und das empfangende Script
<?php
echo "<pre>";
print_r($_POST);
?>
empfängt jetzt den POST-Request, und antwortet wieder mit dem Rersponse-Header(200 OK...)
Und hängt den Contend unten dran, in obigem Fall die Ausgabe des Array $_POST, und eben diese Ausgabe solltest Du mit Deinem 1 Script auch wieder anzeigen können. So kannst Du munter Daten hin und her übertragen, in die eine Richtung als POST-Daten, in die andere Richtung einfach die ausgegebenen Daten (echo...), wenn Du nur in die eine Richtung Daten schickst, könntest Du z.B. wenn alls OK ist :
echo "OK";
ausgeben um im sendenden Script zu sehen ob alles OK abgelaufen ist...
Ich empfehle dringend mal ein paar Beispiele aus den Kommentaren, faq... einfach auszuprobieren, so wie sie sind, und erst wenn sie funktionieren nach und nach auf dich umzubauen.
Grüße
Andreas