Usando matrizes em solicitações cURL POST
Na tentativa de enviar uma matriz de imagens usando cURL, os usuários podem encontrar problemas onde apenas o primeiro o valor da matriz é transmitido. Esta questão explora como corrigir esse problema.
O código original parece ter uma pequena falha na estrutura do array. Para resolver isso, é recomendado usar http_build_query para formatar corretamente o array:
$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 modificação garante que o array seja codificado corretamente em uma string de consulta. O código atualizado abaixo incorpora esta alteração:
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);
Com este código atualizado, o array de imagens será enviado corretamente na solicitação POST. A API receberá ambas as imagens conforme esperado.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3