Web/PHP

freegeoip.app API를 호출하여 IP 주소의 국가, 위도 및 경도를 가져오는 코드

projin 2024. 3. 18. 08:50

 

무료 IP 지리 정보 서비스인 freegeoip.app를 사용하여 IP 주소로 국가 코드, 국가 이름, 지역 코드, 지역 이름, 도시, 위도 및 경도, 타임존 정보를 가져올수 있습니다.

 

아래 코드는 PHP를 이용한 코드입니다.

<?php

function get_ip_geo($ip_address) {
    $url = "https://freegeoip.app/json/$ip_address";
    $response = file_get_contents($url);
    $data = json_decode($response, true);
    $country_code = $data["country_code"];
    $country_name = $data["country_name"];
    $city = $data["city"];
    $latitude = $data["latitude"];
    $longitude = $data["longitude"];
    $time_zone = $data["time_zone"];
    return array($country, $latitude, $longitude);
}

$ip_address = "8.8.8.8"; // 예시 IP 주소, 실제로 사용할 IP 주소로 바꿔주세요
list($country, $latitude, $longitude) = get_ip_geo($ip_address);
echo "Country: $country\n";
echo "Latitude: $latitude\n";
echo "Longitude: $longitude\n";
echo "Time zone: $time_zone\n";
?>

 

 

 

아래는 Python을 사용하여 예시를 보여드리겠습니다. 다음 코드는 requests 라이브러리를 사용하여 freegeoip.app API를 호출하여 IP 주소의 국가, 위도 및 경도를 가져오는 방법을 보여줍니다:

import requests

def get_ip_geo(ip_address):
    url = f"https://freegeoip.app/json/{ip_address}"
    response = requests.get(url)
    data = response.json()
    country = data.get("country_name")
    latitude = data.get("latitude")
    longitude = data.get("longitude")
    return country, latitude, longitude

ip_address = "8.8.8.8"  # 예시 IP 주소, 실제로 사용할 IP 주소로 바꿔주세요
country, latitude, longitude = get_ip_geo(ip_address)
print("Country:", country)
print("Latitude:", latitude)
print("Longitude:", longitude)