视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
php如何调试curl错误信息
2020-11-02 18:27:56 责编:小采
文档


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编程(视频)

下载本文
显示全文
专题