php中curl返回false的解決辦法

2021-09-19 18:49:42 字數 1386 閱讀 3029

首先來看乙個封裝的curl函式

function request_post($url = '', $param = '') 

$posturl = $url;

$curlpost = $param;

$curl = curl_init();//初始化curl

curl_setopt($curl, curlopt_url,$posturl);//抓取指定網頁

curl_setopt($curl, curlopt_header, 0);//設定header

curl_setopt($curl, curlopt_returntransfer, 1);//要求結果為字串且輸出到螢幕上

curl_setopt($curl, curlopt_post, 1);//post提交方式

curl_setopt($curl, curlopt_postfields, $curlpost);//提交的引數

$data = curl_exec($curl);//執行curl

curl_close($curl);

return $data;

}

呼叫的時候返回結果為bool(false)

我們在curl_exec函式前面通過curl_error($curl)獲取錯誤也是string(0) ""空字串。

最後發現自己呼叫的api的介面位址是ssl協議的,然後加上下面兩個就可以了

curl_setopt($curl, curlopt_ssl_verifypeer, false);

curl_setopt($curl, curlopt_ssl_verifyhost, false);

如果curl請求的位址中含有空格也會返回false的,這塊也要格外注意。

之前還遇到過乙個返回false列印curl_error($curl)得到的是如下錯誤

string(39) "problem (2) in the chunked-encoded data" bool(false)
這個錯誤的解決辦法設定curl使用的http協議版本,就是加上下面這句

//curl_http_version_1_0 (強制使用 http/1.0)

//curl_http_version_1_1 (強制使用 http/1.1)。

php中curl返回false的解決辦法

首先來看乙個封裝的curl函式 function request post url param posturl url curlpost param curl curl init 初始化curl curl setopt curl,curlopt url,posturl 抓取指定網頁 curl set...

php中0和false的區別

在php中判斷boolean值是經常要用到的,想if語句,for語句,這些條件的執行很大一部分都是靠boolean來判斷的,很多時候false也等於0,當我們要返回的值中含有0的時候,例如對數字的查詢就要注意了,可以用 來判斷是否完全相等,php 測試boolean 0 false num 0 bt...

php curl返回false解決方法

curl返回false解決方法 直接出書 var dump curl error curl 看看報什麼錯 一般 curl setopt curl,curlopt ssl verifypeer,false curl setopt curl,curlopt ssl verifyhost,false 這樣...