Heim > Backend-Entwicklung > PHP-Tutorial > Lösung für Curl, das in PHP „false' zurückgibt

Lösung für Curl, das in PHP „false' zurückgibt

云罗郡主
Freigeben: 2023-04-04 14:38:02
nach vorne
5864 Leute haben es durchsucht


In diesem Artikel werden die Lösungen für die Probleme vorgestellt, auf die ich bei der Verwendung von Curl gestoßen bin. Ich hoffe, es hilft allen. Schauen wir uns zunächst eine gekapselte Curl-Funktion

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;
}
Nach dem Login kopieren

an. Beim Aufruf ist das Rückgabeergebnis bool(false)

Der Fehler, den wir durch „curl_error($curl)“ vor der Funktion „curl_exec“ erhalten ist auch string(0) " " Leerer String.

Schließlich habe ich herausgefunden, dass die Schnittstellenadresse der von mir aufgerufenen API das SSL-Protokoll war, und dann habe ich einfach die folgenden beiden hinzugefügt

curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
Nach dem Login kopieren

Wenn die von Curl angeforderte Adresse Leerzeichen enthält, wird dies der Fall sein Achten Sie auch hierauf besonders darauf.

Ich bin zuvor auf ein Problem gestoßen, das „false“ zurückgegeben und „curl_error($curl)“ ausgegeben hat, und habe die folgende Fehlermeldung erhalten: „

string(39) "Problem (2) in the Chunked-Encoded data" bool(false)
Nach dem Login kopieren
“ Die Lösung für diesen Fehler besteht darin, die von „curl“ verwendete HTTP-Protokollversion festzulegen. Das heißt, den folgenden Satz hinzuzufügen

//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);
Nach dem Login kopieren



Das obige ist der detaillierte Inhalt vonLösung für Curl, das in PHP „false' zurückgibt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:codehui
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage