Maison >développement back-end >tutoriel php >Comment résoudre le problème du retour de curl false en php ? (exemple d'explication)

Comment résoudre le problème du retour de curl false en php ? (exemple d'explication)

不言
不言avant
2019-01-03 10:06:393256parcourir

Cet article présente les solutions aux problèmes que j'ai rencontrés lors de l'utilisation de curl. J'espère que cela aide tout le monde.

Regardons d'abord une fonction curl encapsulée

function request_post($url = '', $param = '') {
    if (empty($url) || empty($param)) {
        return false;
    }
    $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;
}

Lorsqu'elle est appelée, le résultat de retour est bool(false)
Nous obtenons également l'erreur via curl_exec devant le curl_error($curl) fonctionstring(0) "" Chaîne vide.

Enfin, j'ai trouvé que l'adresse de l'interface de l'API que j'ai appelée était du protocole ssl, puis j'ajoute simplement les deux suivantes

curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);

Si l'adresse demandée par <.> contient des espaces Il renverra également curl, vous devez donc y prêter une attention particulière false

J'ai déjà rencontré une erreur qui a renvoyé

et imprimé false et j'ai obtenu l'erreur suivante curl_error($curl)

La solution pour définir la version du protocole HTTP utilisée par curl est d'ajouter la phrase suivante
string(39) "Problem (2) in the Chunked-Encoded data" bool(false)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer