file_get_contents () non è riuscito ad aprire il stream:

Sto cercando di utilizzare file_get_contents() per afferrare un feed di Twitter, tuttavia sto ricevendo il seguente avviso:

 failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request 

Il mio codice:

 $feed = 'http://twitter.com/statuses/user_timeline.rss?screen_name=google&count=6'; $tweets = file_get_contents($feed); 

Sto usando Google solo per motivi di test. allow_url_fopen è abilitato nel mio file php.ini .

Qualche idea di cosa potrebbe essere sbagliato?

Dovresti usare l'estensione PHP cURL, se disponibile, poiché è molte volte più veloce, più potente e più facile da eseguire il debug. Ecco un esempio che fa la stessa cosa che stavi cercando:

 function curl($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); $data = curl_exec($ch); curl_close($ch); return $data; } $feed = 'http://twitter.com/statuses/user_timeline.rss?screen_name=google&count=6'; $tweets = curl($feed); 

Molto probabilmente, il tuo server ha mod_security abilitato. Aggiungi le linee sottostanti nel tuo .htaccess dopo each regola esistente e poi prova a vedere il problema è ancora lì, dopo quell'aggiunta.

 <IfModule mod_security.c> SecFilterScanPost </IfModule>