2016-05-31 11 views
1

Der Versuch, einige Daten von Yahoo Finance RSS-Feed zu bekommen, aber bei der Verwendung von Curl bekomme ich eine leere Antwort. Wer weiß warum?PHP CURL Yahoo Finanzen Returning Blank

function getContents($thisURL) { 
$strURL = "$thisURL"; 
$resURL = curl_init(); 
$ch = curl_init(); 
curl_setopt($ch,CURLOPT_ENCODING,'gzip'); 
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); 
curl_setopt($ch, CURLOPT_TIMEOUT, 60); 
curl_setopt($ch, CURLOPT_HEADER, 0); 
curl_setopt($ch, CURLOPT_URL, $strURL); 
$data = curl_exec($ch); 
curl_close($ch); 
return $data; 
} 


$feed = getContents("http://feeds.finance.yahoo.com/rss/2.0/headline?s=AAPL&region=US&lang=en-US"); 

Wenn ich regelmäßig file_get_contents verwenden es kein Problem, wie funktioniert:

file_get_contents("http://feeds.finance.yahoo.com/rss/2.0/headline?s=AAPL&region=US&lang=en-US"); 

Ich will nicht file_get_contents

+0

Gebrauch lesen. – user2182349

Antwort

3

Ihre curl Funktion mehrere Fehler verwenden enthält, das funktioniert (getestet) :

<?php 
function getContents($thisURL) { 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1); 
curl_setopt($ch, CURLOPT_TIMEOUT, 60); 
curl_setopt($ch, CURLOPT_URL, $thisURL); 
$data = curl_exec($ch); 
curl_close($ch); 
return $data; 
} 

echo getContents("http://feeds.finance.yahoo.com/rss/2.0/headline?s=AAPL&region=US&lang=en-US"); 
?> 

Alles, was ich von Ihnen entfernte, war falsch oder unnötig. Ich fügte hinzu, curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);


Sie können mehr über die ** ** curl_error um zu sehen, den Fehler curl function on php.net

+0

Die Ressource lädt im Browser, aber ich bekomme einen Fehler 301, wenn Sie Ihre Methode verwenden. * Edit: * Debugging Local Env Einstellungen – andrewgu

+0

Ich habe den Code getestet und es funktioniert gut, keine Ahnung, was auf Ihrer Seite falsch sein kann. –

+0

Nun, ich mag gzip Verkehr + es gibt manchmal erhebliche Steigerung der Geschwindigkeit mit v4, aber außerdem ist es perfekt, vielen Dank. Wird akzeptieren, wenn es mich in 1 Minute lässt. –