Maison >développement back-end >tutoriel php >Solution pour curl renvoyant false en php

Solution pour curl renvoyant false en php

云罗郡主
云罗郡主avant
2018-12-22 17:44:375862parcourir


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. Tout d'abord, regardons 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 renvoyé est bool (false)

Nous obtenons l'erreur via curl_error($curl) devant le. Fonction curl_exec, qui est également string(0 ) "" Chaîne vide.

Enfin, j'ai trouvé que l'adresse d'interface de l'API que j'ai appelée était le protocole SSL, puis j'ai juste ajouté les deux suivants

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

Si l'adresse demandée par curl contient des espaces, false sera renvoyé Oui, vous devez y prêter une attention particulière.

J'ai également rencontré un retour false print curl_error($curl) auparavant et j'ai obtenu l'erreur suivante

string(39) "Problem (2) in the Chunked-Encoded data" bool(false)

La solution à cette erreur est de définir la version du protocole HTTP utilisée par curl, qui est d'ajouter La phrase suivante

//CURL_HTTP_VERSION_1_0 (强制使用 HTTP/1.0)
//CURL_HTTP_VERSION_1_1 (强制使用 HTTP/1.1)。
curl_setopt($curlp, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);



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

Articles Liés

Voir plus