Kakao Developers REST API 로컬에서 curl php 호출시 결과가 안나올때

올려주신 참고 소스와 동일하게 호출 코드로 샘플 실행해도 결과값이 안나오는데요

소스
function request($path, $query, $content_type = ‘json’)
{
$api_server = ‘https://dapi.kakao.com’;
$headers = array(‘Authorization: KakaoAK userkey’);
$opts = array(
CURLOPT_URL => $api_server . $path . ‘.’ . $content_type . ‘?’ . $query,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSLVERSION => 1,
CURLOPT_HEADER => false,
CURLOPT_HTTPHEADER => $headers
);

$curl_session = curl_init();
curl_setopt_array($curl_session, $opts);
$return_data = curl_exec($curl_session);

if (curl_errno($curl_session)) {
throw new Exception(curl_error($curl_session));
} else {
//print_r(curl_getinfo($curl_session));
curl_close($curl_session);
return $return_data;
}
}

$path = ‘/v2/local/search/address’;
$content_type = ‘json’; // json or xml
$params = http_build_query(array(
‘page’ => 1,
‘size’ => 10,
‘query’ => ‘전북 삼성동 100’
));

$res = request($path, $params, $content_type);

PHP 실행 결과값
{“meta”:{“is_end”:true,“total_count”:0,“pageable_count”:0},“documents”:[]}

실제 서버에서
curl -v -X GET “https://dapi.kakao.com/v2/local/search/address.json” --data-urlencode “query=전북 삼성동 100” -H “Authorization: KakaoAK userkey”
실행해보면 정상적으로 나옵니다.

qna 글중에서 CURLOPT_HTTPGET 옵션을 true 로 추가해주니 나온다고 하던데 그것도 마찬가지네요

혹시 추가할 옵션이 또 있나요?

글쎄요… 추정해 볼 수 있는건
정상적으로 실행되는 curl 명령어에서 --data-urlencode 에 해당하는
php 로직이 없는 것 같습니다.

그것 말고는 다른 이유는 모르겠네요.

urlencode(“전북 삼성동 100”) 로 주소를 처리해도 동일한 현상입니다.

직접 curl로 때린 REST가 정상 출력을 한다면,
php에서 문제일것인데… 흐음…
php에서 실제 어떻게 get요청을 보내고 있는 url 상태를 capturing해서 확인해 보셔야 할 것 같습니다.
php 파일 자체의 인코딩도 확인해 보세요.
경우에 따라 코드 내부에 작성된 한글을 인식 못할 경우도 있으니까요.