webForumDet fria alternativet

failed to open stream: HTTP request failed!

1 svar · 216 visningar · startad av nkrantz

nkrantzMedlem sedan apr. 2002830 inlägg
#1

Kör följande kod för att hämta en sträng från en sida:

$URL = "http://www.server.com/?en_massa_saker";
$handle = fopen ($URL, "r");
$data = fread($handle, 1000000);

echo $data;

Jag får felmeddelandet

Warning: fopen([url]http://www.server.com/?en_massa_saker[/url]): failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request in /home/XXX/wwwserver/XXX/test.php on line 34

Warning: fread(): supplied argument is not a valid stream resource in /home/XXX/wwwserver/XXX/test.php on line 35

Jag kollade runt lite och testade även med file_get_contents(), men det blir exakt samma felmeddelande.

Kollade runt lite mer och upptäckte att fopen wrappers var tvungen att vara påslaget, och det är det. För att vara säker på att funktionen testade så ändrade jag $URL till http://www.aftonbladet.se och då funkade. För att ytterligare kolla så testade jag att köra "http://www.server.com/?en_massa_saker" direkt i webläsaren, och då fick jag upp informationen som jag skulle ha.

Var ligger felet? Hos mig eller den jag försöker hämta informationen ifrån? Finns det ytterligare något sätt att hämta data från en hemsida, något som jag inte tänkt på liksom!?!

mvh,
Niclas

nkrantzMedlem sedan apr. 2002830 inlägg
#2

Lösning: Var säker på att allt som skickas är urlencode-at!

// Nippe

127 ms totalt · 3 externa anrop · v20260731065814-full.2b84b982
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)