2016-05-31 10 views
1

Yahoo Finance RSSフィードからデータを取得しようとしましたが、カールを使用すると空白の応答が返されます。誰でも知っている理由は?PHP CURL Yahoo Finance返信用の空白

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"); 

私は定期のfile_get_contentsを使用している場合、それはのような何の問題に動作しません:私は

+0

使用** curl_error **エラーを見ることについての詳細を読むことができます


curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);を追加しました。 – user2182349

答えて

3

あなたcurl機能はいくつかのエラーが含まれているのfile_get_contentsを使用したくない

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

を、この作品(テスト) :

<?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"); 
?> 

機能から削除したものはすべて間違っているか不要です。私はあなたがcurl function on php.net

+0

ブラウザでリソースが正常に読み込まれますが、メソッドを使用すると301エラーが発生します。 *編集:*ローカルenv設定のデバッグ – andrewgu

+0

私はコードをテストして、うまく動作します。 –

+0

さて、私はトラフィックをgzipしたいのですが、時にはv4を使用することで速度が大幅に向上しますが、それ以外にも完璧です、ありがとうございます。それが1分で私をさせるときに受け入れます。 –

関連する問題