Uso de matrices en solicitudes POST de cURL
Al intentar enviar una serie de imágenes utilizando cURL, los usuarios pueden encontrar problemas en los que solo la primera se transmite el valor de la matriz. Esta pregunta explora cómo rectificar este problema.
El código original parece tener un defecto menor en la estructura de la matriz. Para resolver esto, se recomienda utilizar http_build_query para formatear correctamente la matriz:
$fields = array(
'username' => "annonymous",
'api_key' => urlencode("1234"),
'images' => array(
urlencode(base64_encode('image1')),
urlencode(base64_encode('image2'))
)
);
$fields_string = http_build_query($fields);
Esta modificación garantiza que la matriz esté codificada correctamente en una cadena de consulta. El código actualizado a continuación incorpora este cambio:
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);
Con este código actualizado, el conjunto de imágenes se enviará correctamente en la solicitud POST. La API recibirá ambas imágenes como se esperaba.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3