2016-10-29 10 views
1

となります。以下のURLがあります。file_get_contentsとcurl ...の両方の方法で試してみてください... phpスクリプトでは動作しません。 何故でしょうか?get要求は郵便配達員では動作しますが、file_gets_contentとcURLではなく、

https://query.yahooapis.com/v1/public/yql?q= JSON

=でWOEIDおよびu = 'C' &フォーマット(テキスト= "(28.56,77.32)" geo.places FROM WOEIDの選択)ここweather.forecast SELECT * FROM cURLのリクエストは次のとおりです。

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 

$output = curl_exec($ch); 

// convert response 
$output = json_decode($output); 

// handle error; error output 
if(curl_getinfo($ch, CURLINFO_HTTP_CODE) !== 200) { 

    var_dump($output); 
} 
echo curl_error($ch); 

curl_close($ch); 
+0

のfile_get_contents要求のためのあなたのカールコードを追加してください – krasipenkov

+0

httpsで動作しません。 – krasipenkov

+0

編集済み..カールあり –

答えて

0

これで試してみてください。違いは、URLがURLエンコードされたということです。

$url = 'https://query.yahooapis.com/v1/public/yql?q=%20select%20*%20from%20weather.forecast%20where%20woeid%20in%20(SELECT%20woeid%20FROM%20geo.places%20WHERE%20text=%22(28.56,77.32)%22)%20and%20u=%27c%27&format=json'; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_VERBOSE, 1); 

$output = curl_exec($ch); 
関連する問題