특정 IP 주소에 대한 지리적 위치 정보를 얻으려면 적절한 API를 제공하는 일부 온라인 서비스를 사용해야 합니다. 인증 절차와 API 키 관리를 피하기 위해 일부 공개 서비스를 이용하는 것이 좋습니다. 그러한 서비스 중 하나는 FreeGeoIP.net.
IP 주소의 지리적 위치를 검색하기 위한 공개 HTTP API를 제공합니다. 시간대, 위도 및 경도와 같은 기타 관련 정보와 함께 도시와 연결된 IP 주소 데이터베이스를 사용합니다. 이것은 매우 유용합니다.
이 서비스는 검색 결과를 JSON 또는 XML로 제공할 수 있습니다. 따라서 컬을 JSON 파서와 결합하면 필요한 정보를 얻을 수 있습니다.
제가 가장 좋아하는 JSON 파서인 jq를 사용하겠습니다.
매우 가볍고 빠릅니다.
우리의 경우 쿼리는 다음과 같아야 합니다.
|_+_|여기서 'json' 부분은 원하는 데이터 형식입니다. JSON 외에도 XML 또는 CSV일 수 있습니다.
컬을 사용하여 쿼리를 실행하고 출력을 살펴보겠습니다.
결과는 읽기 어려운 원시 JSON 출력입니다. 결과 집합의 모양을 개선하려면 jq 도구를 사용해 보겠습니다. 다음과 같이 컬과 결합합니다.
|_+_|출력을 더 쉽게 읽을 수 있습니다.
jq를 사용하면 출력을 필터링하고 필수 필드만 표시하도록 할 수 있습니다. 다음 명령은 국가 이름, 위도 및 경도만 표시합니다.
|_+_|이 명령을 다음 쉘 스크립트로 저장할 수 있습니다.
|_+_|다음에 지리적 위치 정보를 가져와야 하는 경우 다음과 같이 스크립트를 실행할 수 있습니다.
|_+_|그게 다야.