2016-05-18 121 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

沒有改變....我曾經也 –

+0

我這個網址https://aapiconvention2016.sched.org/api/auth/login BCZ試圖嘗試過同樣的,我也沒有任何憑證在這個網站上,它是返回我「錯誤:授權失敗.ERR:訪問被拒絕」 – Manmohan

+0

我已添加creds到您的答案..請chech –

1

你可以使用curl_errno的最後一個錯誤代碼和最後一個錯誤字符串使用curl_error。這給了我一個超時錯誤。

因此,您可以通過將默認捲曲超時增加到例如10秒,整體功能超時至15秒:

curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 10); 
curl_setopt($curl_handle, CURLOPT_TIMEOUT, 15);