2016-05-18 145 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);