Heim >Backend-Entwicklung >PHP-Tutorial >Wie verarbeitet CURLOPT_POSTFIELDS String- und Array-Daten in cURL-POST-Anfragen?

Wie verarbeitet CURLOPT_POSTFIELDS String- und Array-Daten in cURL-POST-Anfragen?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-08 12:27:14554Durchsuche

How Does CURLOPT_POSTFIELDS Handle String and Array Data in cURL POST Requests?

CURLOPT_POSTFIELDS und POST-Datenformat in cURL

Bei der Verwendung von cURL für POST-Anfragen hängt das Format der über CURLOPT_POSTFIELDS zu veröffentlichenden Daten davon ab Art der Daten.

String Daten:

Wenn Sie eine Zeichenfolge wie „first=John&last=Smith“ senden, müssen Sie diese mit urlencode() codieren. Dadurch wird verhindert, dass Zeichen wie kaufmännische Und-Zeichen (&) die Datenübertragung stören.

Array-Daten:

Für Array-Daten setzt cURL den Content-Type-Header automatisch auf multipart /form-data, das für das Senden mehrteiliger Formulardaten unerlässlich ist. Jedes Schlüssel-Wert-Paar im Array entspricht einem Formularfeld und seinem Wert.

Wenn Sie beispielsweise ein Array haben, $data = ['first' => 'John', 'last' => 'Smith'] können Sie CURLOPT_POSTFIELDS wie folgt festlegen:

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

cURL generiert automatisch die erforderliche mehrteilige Formulardatenkodierung.

Hilfsfunktion:

Sie können den Prozess der Erstellung der Abfragezeichenfolge für Array-Daten mit http_build_query() vereinfachen. Funktion:

$query = http_build_query($data, '', '&');
curl_setopt($ch, CURLOPT_POSTFIELDS, $query);

Das obige ist der detaillierte Inhalt vonWie verarbeitet CURLOPT_POSTFIELDS String- und Array-Daten in cURL-POST-Anfragen?. 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