Solution pour curl renvoyant false en php

云罗郡主
Libérer: 2023-04-04 14:38:02
avant
5800 Les gens l'ont consulté


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;
}
Copier après la connexion

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);
Copier après la connexion

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)
Copier après la connexion

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);
Copier après la connexion



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!

Étiquettes associées:
source:codehui
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!