溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

php調(diào)試curl錯(cuò)誤信息的方法

發(fā)布時(shí)間:2020-08-18 09:53:20 來源:億速云 閱讀:327 作者:小新 欄目:編程語言

小編給大家分享一下php調(diào)試curl錯(cuò)誤信息的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

php調(diào)試curl錯(cuò)誤信息的方法:1、使用函數(shù)【curl_errno】和【curl_error】,分別返回HTTP的錯(cuò)誤代碼和錯(cuò)誤類別;2、設(shè)置【CURLOPT_VERBOSE】為true,同時(shí)將其設(shè)置為用fopen打開的一個(gè)文件。

php調(diào)試curl錯(cuò)誤信息的方法

php調(diào)試curl錯(cuò)誤信息的方法:

第一種方法,首先可以使用的是 curl_errnocurl_error 函數(shù),分別返回 HTTP 的錯(cuò)誤代碼和錯(cuò)誤類別。例如:

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

其次,如果需要得到更詳細(xì)的信息,可以用 curl_getinfo 函數(shù)。例如:

<?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);
?>

其中設(shè)置 CURLINFO_HEADER_OUT 選項(xiàng)之后 curl_getinfo 函數(shù)返回的數(shù)組將包含 cURL 請求的 header 信息。而要看到回應(yīng)的 header 信息可以在 curl_setopt 中設(shè)置 CURLOPT_HEADER 選項(xiàng)為 true。

curl_exec 函數(shù)執(zhí)行成功時(shí),將根據(jù) CURLOPT_RETURNTRANSFER 選項(xiàng)的值處理回應(yīng)的正文信息:如果為 true 將作為字符串返回,如果為 false 將直接輸出。執(zhí)行失敗時(shí)結(jié)果為 FALSE。也就是說,如果執(zhí)行失?。僭O(shè)是 400 錯(cuò)誤),從 curl_exec 函數(shù)的結(jié)果中沒法看到回應(yīng)的正文(里面可能包含更加具體的錯(cuò)誤信息)。要看到回應(yīng)正文,有兩種方法。第一種方法是設(shè)置 400 為成功的代碼,例子如下:

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

第二種方法,是設(shè)置 CURLOPT_VERBOSE 為 true,同時(shí)將 CURLOPT_STDERR 設(shè)置為用 fopen 打開的一個(gè)文件。這樣 cURL 將把和服務(wù)器的所有交互信息都記錄到該文件中。

以上是php調(diào)試curl錯(cuò)誤信息的方法的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI