wrapper HTTP/1.1 bad request 400
SorgenkindMech
- php
0 RFZ
moins
ich hab mal wieder ein problem
und zwar benutzt php jetz durch irgentein update (keine ahnung welches, könnte n php-upgrade sein) nun bei http-wrappern http 1.1 in seinem header statt 1.0
das hat zur folge, dass ich zum beispiel mittels file_get_contents("http://bla/datei.xxx") den fehler bekomme:
Bad request 400
soweit ich herausgefunden habe, liegt das daran, dass bei HTTP/1.1 ein host vor dem GET angegeben werden muss
das habe ich folgendermaßen versucht zu lösen:
$cscontext=array('http' => array('header' => 'Host: server'));
$cscontext = stream_context_create($cscontext);
$datei=chunk_split(base64_encode(file_get_contents("http://".$_SERVER['HTTP_HOST']."/".$bildname,0,$cscontext)));
wie man sieht will ich auf selbigen server zugreifen, auf dem auch das script läuft, nur ich brauch halt die geparste datei
woanders konnte ich das mit output-buffering umgehen, aber hier habe ich leider nicht die möglichkeit ....
übrigens ging es mal ohne $cscontext, aber jetzt nicht mehr ;(
hat jemand eine ahnung, wie ich das jetz bewerkstelligen kann?
der http ist ein IIS 5.1 auf WinXpPro, php 5.1.2
ich hoffe jemand weiß rat
vielen dank schonmal ;)
moins
ich hab mal wieder ein problem
und zwar benutzt php jetz durch irgentein update (keine ahnung welches, könnte n php-upgrade sein) nun bei http-wrappern http 1.1 in seinem header statt 1.0
das hat zur folge, dass ich zum beispiel mittels file_get_contents("http://bla/datei.xxx") den fehler bekomme:
Bad request 400
Moin,
also ich bin recht sicher dass PHP auch bei HTTP/1.1 den Host-Header sendet, hat es bei 1.0 ja auch, sonst würden 99% aller Server garkein Ergebnis liefern. Dein Problem muss also vermutlich wo anders liegen - schau doch mal (über Server logs, oder falls möglich Netzwerk Traffik Analyzer) wie das Request tatsächlich aussieht, welches PHP schickt.
Ansonsten hast jederzeit die Möglichkeit via fsockopen() dein eigenes HTTP/1.0 Request zu erzeugen - beispiele dazu gibt's im PHP Manual zur entsprechenden Funktion.
greetz RFZ