CURL没有返回任何数据?

时间:2016-05-18 05:55:29

标签: php api curl

我使用curl从API获取数据,每次都返回不同的guid。我使用以下代码:

$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内部错误。我使用上面的代码修复它。但现在我没有得到任何错误或输出。

我不明白为什么它不起作用,请帮帮我

提前谢谢。

2 个答案:

答案 0 :(得分:1)

请添加此行

,将ssl验证设为false
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;

答案 1 :(得分:1)

您可以使用curl_errno获取最后一个错误代码,使用curl_error获取最后一个错误字符串。这些给了我超时错误。

因此,您可以通过将默认卷曲超时增加到例如10秒和整个功能超时到例如15秒:

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