728x90
<?php
header('Content-Type: text/html; charset=UTF-8');
$ch = curl_init();
$url = "https://dapi.kakao.com/v2/local/search/address.json?query=".urlencode("여긴 주소!");
$headers[] = "Authorization: KakaoAK xxxxxxx여긴 토큰xxxxxxxx";
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($ch);
curl_close($ch);
$response = json_decode($output);
print_r($response);
주소를 토대로 위도와 경도를 갖고 오는 api를 사용하는 예제(developers.kakao.com/docs/latest/ko/local/dev-guide#address-coord)입니다.
위에 있는 아주 평범한 방법으로 했지만 값이 안 나옵니다.
그런데 print_r($output)은 값이 나옵니다. 다만 값이 나오지만 위 이미지처럼 갖고 가지 말라고 헤더까지 포함시켜서 저렇게 나옵니다.
이런 경우는 헤더만 잘라 버리고 갖고 오면 됩니다.
<?php
header('Content-Type: text/html; charset=UTF-8');
$ch = curl_init();
$url = "https://dapi.kakao.com/v2/local/search/address.json?query=".urlencode("여긴 주소!");
$headers[] = "Authorization: KakaoAK xxxxxxx여긴 토큰xxxxxxxx";
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($ch);
$header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
curl_close($ch);
$remove_result = substr($output, $header_size);
$result = json_decode($remove_result);
print_r($result);
echo $result->documents[0]->x;
$header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
$remove_result = substr($output, $header_size);
먼저 헤더 길이를 갖고 와서 출력된 결과물에서 헤더 길이만큼을 잘라 버리면 됩니다.
반응형
'Programming > PHP' 카테고리의 다른 글
한글로 요일 표기하기 (0) | 2020.07.29 |
---|---|
[정규표현식]문자열에서 숫자만 추출하기 (0) | 2020.05.28 |
해당 URL이 정상인지 체크 (0) | 2020.04.21 |
문자열 랜덤으로... (0) | 2020.04.20 |
위, 아래 br 제거 (0) | 2020.03.13 |