cURL POST 요청에서 배열 사용
cURL을 사용하여 이미지 배열을 보내려고 할 때 사용자는 첫 번째 배열 값이 전송됩니다. 이 질문은 이 문제를 해결하는 방법을 탐구합니다.
원본 코드의 배열 구조에 사소한 결함이 있는 것 같습니다. 이 문제를 해결하려면 http_build_query를 사용하여 배열 형식을 올바르게 지정하는 것이 좋습니다.
$fields = array(
'username' => "annonymous",
'api_key' => urlencode("1234"),
'images' => array(
urlencode(base64_encode('image1')),
urlencode(base64_encode('image2'))
)
);
$fields_string = http_build_query($fields);
이 수정을 통해 배열이 쿼리 문자열로 올바르게 인코딩됩니다. 아래의 업데이트된 코드는 이 변경 사항을 통합합니다:
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);
이 업데이트된 코드를 사용하면 이미지 배열이 POST 요청에서 올바르게 전송됩니다. API는 예상대로 두 이미지를 모두 수신합니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3