鍍金池/ 問(wèn)答/PHP/ php curl 返回 bool(false) https的都不行

php curl 返回 bool(false) https的都不行

php curl 返回 bool(false) 在本地獲取可以,放其他服務(wù)器可以這是什么問(wèn)題?
是服務(wù)器配置的問(wèn)題嗎?圖片描述
各位大神誰(shuí)知道的?????

只要是https的都get不到也post不到
其他的服務(wù)器是可以的


$jiekou='https://www.baifubao.com/callback?cmd=1059&callback=phone&phone=13457854758';
 
 var_dump(https_request($jiekou));







function https_request($url){
  $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_TIMEOUT, 1);
    curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER["HTTP_USER_AGENT"]);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //不驗(yàn)證證書
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); //不驗(yàn)證證書
    $r = curl_exec($ch);
    curl_close($ch);
    return $r;


}
回答
編輯回答
浪婳

1.TIMEOUT值太小
2.建議增加CURLOPT_REFERER
3.USER AGENT最好不要從$_SERVER里面提取,它可以被客戶端任意修改,也可能不存在,你的目的是從遠(yuǎn)程服務(wù)器獲取數(shù)據(jù),沒(méi)有必要每次都去取訪問(wèn)你的網(wǎng)站的客戶端的USER AGENT,只要發(fā)送一個(gè)不會(huì)被遠(yuǎn)程服務(wù)器拒絕的USER AGENT即可
4.最好先定義函數(shù),再調(diào)用,這不算錯(cuò)誤,但不是好習(xí)慣……
5.可以使用curl_getInfo()和curl_error()調(diào)試
6.你的代碼我已經(jīng)給你改好了……

<?php
    function https_request($url){
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_REFERER, $url);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
        curl_setopt($ch, CURLOPT_TIMEOUT, 10);
        curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36');
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
        $r = curl_exec($ch);
        curl_close($ch);
        return $r;
    }

    $jiekou='https://www.baifubao.com/callback?cmd=1059&callback=phone&phone=13457854758';
     
    var_dump(https_request($jiekou));

?>
2017年11月30日 21:16
編輯回答
心癌

curl_error($ch);看下報(bào)錯(cuò)

2018年7月21日 13:23
編輯回答
耍太極

Problem with the SSL CA cert (path? access rights?)

讓運(yùn)維重啟了一下服務(wù)器可以了

2017年7月11日 11:50
編輯回答
懷中人

圖片刷不出來(lái)
不過(guò)你CURLOPT_TIMEOUT設(shè)置的是1秒,也許是你服務(wù)器網(wǎng)絡(luò)不太好,設(shè)置超時(shí)為10秒試試

2018年9月18日 03:31