2016-05-18 10 views
1

私はcurlを使用してAPIからデータを取得しています。毎回異なるguidを返すことになります。私は以下のコードを使用しています:CURLはデータを返していませんか?

$curl_handle=curl_init(); 
curl_setopt($curl_handle, CURLOPT_URL,'https://aapiconvention2016.sched.org/api/auth/login?api_key=f8bf836da29b0831ff1f03fce3c64462&username=*****&password=****'); 
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2); 
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($curl_handle, CURLOPT_USERAGENT, 'API HIT'); 
$query = curl_exec($curl_handle); 
curl_close($curl_handle); 
echo $query 

返信前に500の内部エラーが発生しています。上記のコードを使って修正しました。しかし、今私はエラーや出力を取得していません。

私はそれが機能しない理由になっていないです、事前に私に

感謝を助けてください。

答えて

1

この行を追加することにより、偽のSSL検証を設定してください

curl_setopt($curl_handle,CURLOPT_SSL_VERIFYPEER, false); 

、その後、あなたのコードは次のようになります。

$curl_handle=curl_init(); 
curl_setopt($curl_handle, CURLOPT_URL,'https://aapiconvention2016.sched.org/api/auth/login?api_key=f8bf836da29b0831ff1f03fce3c64462&username=*****&password=****'); 
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2); 
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($curl_handle, CURLOPT_USERAGENT, 'API HIT'); 
curl_setopt($curl_handle,CURLOPT_SSL_VERIFYPEER, false); 
$query = curl_exec($curl_handle); 
curl_close($curl_handle); 
echo $query; 
+0

変化がないが....私はこのURL https://aapiconvention2016.sched.org/api/auth/login bczを試みたとしても –

+0

前に同じことをしようとした、私がいない持っていますこのウェブサイトの資格情報は「ERR:Authorization failed.ERR:Access denied」と返されます。 – Manmohan

+0

回答にクレジットを追加しました。 –

1

あなたはcurl_errnoを使用して、最後のエラーコードと最後のエラー文字列を取得することができますcurl_errorを使用してください。これらは私にタイムアウトエラーを与えました。

したがって、デフォルトのカールタイムアウト値を例えば0に増やすことで回答を得ることができます。 10秒、全体的な機能タイムアウトは例えば10秒に設定される。 15秒:

curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 10); 
curl_setopt($curl_handle, CURLOPT_TIMEOUT, 15); 
関連する問題