繁体   English   中英

获取 curl_error(): 2 在从 freshdesk api 获取所有用户时不是有效的 cURL 句柄资源

[英]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_errnocurl_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_errnocurl_error 这是不对的。

获取有关错误的信息后,您需要关闭$ch

这是真的,我得到了这个答案。

        $data = curl_exec($ch);
        if (!curl_errno($ch)) {
         ....
        }
        curl_close($ch);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM