webForumDet fria alternativet

failed to open stream: HTTP request failed!

PHP

1 svar · 216 visningar · startad av nkrantz

Medlem sedan apr. 2002830 inlägg
Frågan#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

Medlem sedan apr. 2002830 inlägg
#2

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

// Nippe

252 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)