curl에서 헤더를 변경했을 뿐인데 파라미터가 빠져서 안갑니다.
본문
function request_curl ($url, $is_post = 0, $data = array(), $custom_header = NULL)
{
//승인 요청을 보내는 함수입니다.
$ch = curl_init ();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt ($ch, CURLOPT_SSLVERSION, 1);
curl_setopt ($ch, CURLOPT_POST, $is_post);
if ($is_post) {
curl_setopt ($ch, CURLOPT_POSTFIELDS, $data);
}
curl_setopt ($ch, CURLOPT_TIMEOUT, 300);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
//curl_setopt ($ch, CURLOPT_HEADER, true);
if ($custom_header) {
curl_setopt ($ch, CURLOPT_HTTPHEADER, $custom_header);
}
$result[0] = curl_exec ($ch);
$result[1] = curl_errno ($ch);
// $result[2] = curl_error ($ch);
// $result[3] = curl_getinfo ($ch, CURLINFO_HTTP_CODE);
curl_close ($ch);
return $result[0];
}
$custom_header = ['Content-type: application/x-www-form-urlencoded'];
$params = ['paymentId' => $paymentId];
request_curl('url', 1, $params, $custom_header);
1. 처음에 $custom_header 에는 openAPI에서 필요한 키들을 넣어주고 통신을 잘 했는데
openAPI에서 Content-type에 multipart/form-data 대신 application/x-www-form-urlencoded 바꿔서 요청해주세요라고 메일이 와서 변경하니 파라미터를 보냈음에도 불구하고 받는 곳에서 파라미터가 없다고 나온다 합니다 ㅠㅠ
2. 그리고 boundary 또한 제외 부탁 요청을 받았는데 crul 통신에서 boundary 제외를 어떻게 하나요?
!-->
답변 2
$data 를 그냥 array로 보내지 말고 http_build_query($data) 로 해서 테스트해보세요.
파라미터가 배열로 그냥 전송하면서 안넘어가는듯 한데 이게 url 인코딩이 되어 전송을 해보시는게 좋을듯 합니다.
답변을 작성하시기 전에 로그인 해주세요.