CI 묻고 답하기

제목 curl header content-type 변경이 안돼요..
카테고리 CI 2, 3
글쓴이 라산 작성시각 2023/01/13 16:26:34
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 5031   RSS

안녕하세요 CURL을 사용해서 통신을 하려고하는데

$url = "https://URL값";

$body_data = array(
	'eventOccuredBy' => 'SUBSCRIBER',
	'confirmEmailYN' => 'N',
	'groupIds' => 'XXXXXX',
	'subscribers' => array(
		[
			"email"=> "test@test.com",
			"name"=> "홍길동"
		],
	)
);

$body = json_encode($body_data);

$header_data = array(

            "accept: application/json",        

            "content-type: application/json",

            "AccessToken : 토큰값"

);



$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header_data);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = curl_exec ($ch);
print_r($result);

 

위 방식대로 curl 통신을 진행하려고 하는데

$result 값을 찍어보면

HTTP/1.1 400 Bad Request: invalid header name 오류가 뜨고

Date: Fri, 13 Jan 2023 07:19:25 GMT Content-Type: text/plain; charset=utf-8 Transfer-Encoding: chunked Connection: keep-alive 400 Bad Request: invalid header name

 

위에 처럼 Content-Type:text/plain 으로 찍힙니다.. 이게 json이 아니여서 오류가 뜨는것같은데.. 가이드 문서대로 진행하였으나

왜 이런 오류가 발생하는지 알 수가 없네요.. 

혹시 제가 뭘 놓치고 있는게 있을까요??

 

 다음글 CI4에서 URL 주소에 index.php 보이지 않게... (12)
 이전글 CI3, 라이브러리에서 모델 호출, 권장하지 않는 방식... (1)

댓글

한대승(불의회상) / 2023/01/16 11:09:31 / 추천 0

오류 메시지상으론 header 이름이 잘 못된것 같네요.

해당 API 문서 보시고 header를 수정해 주세요.

라산 / 2023/01/19 17:22:23 / 추천 0

해결내용입니다.

헤더 포함시에

 "AccessToken : 토큰값" 으로 기재하였으나 엑세스 토큰 과 콜론 사이에 공백이 있어서 나타난 오류로 확인되었습니다.

 "AccessToken: 토큰값" 으로 진행한 결과 정상적으로 처리됨 확인하였으며 다른분들도 이 글을 통해 해결하시길 바라겠습니다.