Verwenden von Arrays in cURL-POST-Anfragen
Beim Versuch, ein Array von Bildern mit cURL zu senden, können Benutzer auf Probleme stoßen, bei denen nur das erste Array-Wert wird übertragen. In dieser Frage wird untersucht, wie dieses Problem behoben werden kann.
Der Originalcode scheint einen kleinen Fehler in der Array-Struktur zu haben. Um dieses Problem zu beheben, wird empfohlen, http_build_query zu verwenden, um das Array korrekt zu formatieren:
$fields = array(
'username' => "annonymous",
'api_key' => urlencode("1234"),
'images' => array(
urlencode(base64_encode('image1')),
urlencode(base64_encode('image2'))
)
);
$fields_string = http_build_query($fields);
Diese Änderung stellt sicher, dass das Array korrekt in eine Abfragezeichenfolge codiert wird. Der aktualisierte Code unten enthält diese Änderung:
extract($_POST);
$url = 'http://api.example.com/api';
$fields = array(
'username' => "annonymous",
'api_key' => urlencode("1234"),
'images' => array(
urlencode(base64_encode('image1')),
urlencode(base64_encode('image2'))
)
);
$fields_string = http_build_query($fields);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
$result = curl_exec($ch);
echo $result;
curl_close($ch);
Mit diesem aktualisierten Code wird das Bildarray korrekt in der POST-Anfrage gesendet. Die API empfängt beide Bilder wie erwartet.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3