[英]Getting curl_error(): 2 is not a valid cURL handle resource while fetching all users from freshdesk api
我正在创建我自己的系统来管理所有来自 freshdesk.com 通过其 API 的票证。 我正在发出 curl 请求以从 freshdesk.com 获取数据。 获取与代码相关的数据后,它工作正常,但是当我通过 curl 请求请求所有用户时,它给我错误:
警告: curl_errno(): 2 不是第 28 行 C:\\wamp\\www\\test.php 中的有效 cURL 句柄资源。
我的代码是这样的:
$ch = curl_init();
$cOption = array(
CURLOPT_URL => 'http://velocity.freshdesk.com/contacts.xml',
CURLOPT_HEADER => 0,
CURLOPT_USERPWD => "$email:$password",
CURLOPT_POST => false,
CURLOPT_HTTPHEADER => array('Content-Type: application/xml'),
CURLOPT_HTTPAUTH => CURLAUTH_BASIC,
CURLOPT_FAILONERROR => 1,
CURLOPT_SSL_VERIFYHOST => 2,
CURLOPT_SSLVERSION => 2
);
@curl_setopt_array( $ch, $cOption );
curl_close($ch);
echo curl_errno($ch); //line 28
echo curl_error($ch); //line 29
echo $ch_result;
输出是:
警告: curl_errno(): 2 不是第 28 行 C:\\wamp\\www\\test.php 中的有效 cURL 句柄资源。
警告: curl_errno(): 2 不是第 29 行 C:\\wamp\\www\\test.php 中的有效 cURL 句柄资源。
1 // echo $ch_result 的输出
请帮我弄清楚代码有什么问题以及为什么会出现这种警告。
关闭$ch
后使用curl_errno
和curl_error
。 这是不对的。
获取有关错误的信息后,您需要关闭$ch
。
echo curl_errno($ch);
echo curl_error($ch);
curl_close($ch);
您也没有为$ch_result
设置任何$ch_result
。 如果您期望它包含您的请求结果,那您就错了。 要解决此问题,您需要添加选项CURLOPT_RETURNTRANSFER
并使用$ch_result = curl_exec($ch);
获取结果$ch_result = curl_exec($ch);
echo curl_errno($ch);
echo curl_error($ch);
必须在curl_close($ch);
之前curl_close($ch);
关闭$ch
后使用curl_errno
和curl_error
。 这是不对的。
获取有关错误的信息后,您需要关闭$ch
。
这是真的,我得到了这个答案。
$data = curl_exec($ch);
if (!curl_errno($ch)) {
....
}
curl_close($ch);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.