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!