您好,登錄后才能下訂單哦!
小編給大家分享一下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ò)誤信息的方法:
第一種方法,首先可以使用的是 curl_errno
和 curl_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è)資訊頻道!
免責(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)容。