Heim  >  Artikel  >  Backend-Entwicklung  >  So lösen Sie das PHP-Curl-Post-Fehlerproblem

So lösen Sie das PHP-Curl-Post-Fehlerproblem

藏色散人
藏色散人Original
2021-03-26 09:11:352267Durchsuche

Lösung für den PHP-Curl-Post-Fehler: Öffnen Sie zuerst die PHP-Codedatei mit dem Fehler und ändern Sie dann die „$data“ im PHP-Code von einem Array in die von der Funktion „urlencode()“ codierten Daten.

So lösen Sie das PHP-Curl-Post-Fehlerproblem

Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.1, DELL G3-Computer

Lösung für das Problem beim PHP-Curl-Post

Es gibt die folgenden Szenarien:

POST in a. php-Methode zum Senden von Daten an b.php, aber b.php kann die Daten nicht empfangen und die CURL-Operation zeigt Erfolg, was sehr seltsam ist. Es stellt sich heraus, dass „bei der Übergabe eines Arrays an CURLOPT_POSTFIELDS cURL die Daten als multipart/form-data codiert, bei der Übergabe einer URL-codierten Zeichenfolge werden die Daten jedoch als application/x-www-form-urlencoded codiert.“ .

Wenn Leute, die mit CURL nicht vertraut sind, Programme schreiben, ist der Code oft:

Codebeispiel:

<?php
$data = array( &#39;Title&#39; => $title, &#39;Content&#39; => $content, &#39;ComeFrom&#39; => $comefrom );
curl_setopt($ch, CURLOPT_DNS_USE_GLOBAL_CACHE, false);
curl_setopt($ch, CURLOPT_URL, &#39;http://example.com/b.php&#39;);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_exec($ch);

Senden Sie die zu übermittelnden Daten in Form eines Arrays per POST, was zu „Fehlern“ führt. bei der CURL-Verwendung Die Codierung von „multipart/form-data“ entspricht dem direkten Abschluss des Vorgangs mit einem Formular wie „5a32402db781e97170288e283abb42da“ können Sie es versuchen. Derzeit kann „b.php“ ohnehin keine Daten über $_POST empfangen.

Der richtige Ansatz sollte also darin bestehen, $data im obigen Code von einem Array in ein durch urlencode() codiertes Array zu ändern.

【Empfohlenes Lernen: PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo lösen Sie das PHP-Curl-Post-Fehlerproblem. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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