• 技术文章 >后端开发 >PHP问题

    php如何调试curl错误信息

    coldplay.xixicoldplay.xixi2020-08-17 10:27:38原创1472

    php调试curl错误信息的方法:1、使用函数【curl_errno】和【curl_error】,分别返回HTTP的错误代码和错误类别;2、设置【CURLOPT_VERBOSE】为true,同时将其设置为用fopen打开的一个文件。

    php调试curl错误信息的方法:

    第一种方法,首先可以使用的是 curl_errnocurl_error 函数,分别返回 HTTP 的错误代码和错误类别。例如:

    <?php
    $ch = curl_init('http://example.com/');
    curl_exec($ch);
    if (curl_errno($ch)) {
        echo 'Curl error: ' . curl_error($ch);
    }
    curl_close($ch);
    ?>

    其次,如果需要得到更详细的信息,可以用 curl_getinfo 函数。例如:

    <?php
    $ch = curl_init('http://example.com/');
    curl_setopt($ch, CURLINFO_HEADER_OUT, true);
    curl_exec($ch);
    if (!curl_errno($ch)) {
        print_r(curl_getinfo($ch));
    }
    curl_close($ch);
    ?>

    其中设置 CURLINFO_HEADER_OUT 选项之后 curl_getinfo 函数返回的数组将包含 cURL 请求的 header 信息。而要看到回应的 header 信息可以在 curl_setopt 中设置 CURLOPT_HEADER 选项为 true。

    curl_exec 函数执行成功时,将根据 CURLOPT_RETURNTRANSFER 选项的值处理回应的正文信息:如果为 true 将作为字符串返回,如果为 false 将直接输出。执行失败时结果为 FALSE。也就是说,如果执行失败(假设是 400 错误),从 curl_exec 函数的结果中没法看到回应的正文(里面可能包含更加具体的错误信息)。要看到回应正文,有两种方法。第一种方法是设置 400 为成功的代码,例子如下:

    curl_setopt($ch, CURLOPT_FAILONERROR, false);
    curl_setopt($ch, CURLOPT_HTTP200ALIASES, array(400));

    第二种方法,是设置 CURLOPT_VERBOSE 为 true,同时将 CURLOPT_STDERR 设置为用 fopen 打开的一个文件。这样 cURL 将把和服务器的所有交互信息都记录到该文件中。

    相关学习推荐:php编程(视频)

    以上就是php如何调试curl错误信息的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php curl 错误信息
    上一篇:windows下php curl配置方法详解 下一篇:php如何去掉最后一个汉字
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• 如何进行php curl超时设置• 如何解决curl php中文乱码问题• php curl如何设置自定义请求头• php无法使用curl怎么办
    1/1

    PHP中文网