2017-09-28 7 views
13

사용자가 내 서버로 요청을 보내는 국가를 찾으려고합니다.백엔드에서 HTTP 요청에 대해 사용자 국가를 얻는 방법은 무엇입니까?

지금까지 내가 찾은 그 해결책 : (

https://github.com/maxmind/GeoIP2-java

이 솔루션

https://github.com/fiorix/freegeoip

는 라이센스를 가지고 MaxMind 데이터베이스 GeoIP2 국가 데이터베이스를 사용하고 있고이 특정 프로젝트 나 라이브러리에 제한이 사업으로 인한 법적 측면)

Google API가이 서비스를 제공 할 수 있다고 언급 한 일부 주제가 있지만 그 내용은 포함되어 있지 않습니다. 나 자신을 호스팅 할 수있는 솔루션을 원하고 Java 또는 Kotlin을 사용하여 구현됩니다.

누군가가 (백엔드에서 실행되는) 해결책과 다른 해결책을 알고 있습니까?

+0

태그가 지정된 모든 기술이 질문이나 답변의 일부가 아니므로 모든 태그를 제거하십시오. 또한 '백엔드'태그는 선택 기준에 아무런 가치를 부여하지 않으므로 다시 고려해야합니다. –

+0

태그가 지정된 특정 기술에 대한 지원을 요청하는 것에 동의하지 않습니다. 다른 기술 (예 : 파이썬)을 사용하는 대답은 전혀 흥미롭지 않습니다. –

+0

설명대로 기술의 유형은 모든 언어의 구현에 의존하지 않습니다. geoip이나 google의 API는 클라이언트 언어의 사용으로 제한되지 않습니다. 그래서 좋은 대답은 더 넓은 청중에게 도움이 될 수 있습니다;). –

답변

0

아키텍처 측면에서 보면 이것이 좋은 해결책 일지 모르지만 백엔드 서버에 명령 줄 도구를 설치하여 사용할 수는 있습니다. 예를 들어

: http://manpages.ubuntu.com/manpages/zesty/en/man1/geoiplookup.1.html

또한 당신이 사용할 수있는 몇 가지 무료 웹 API는 모습 here

+0

maxmind 데이터베이스로 다시 드릴 다운합니다 ... :/주석 확인 – Coco

1

내가 조금 서비스를 (비록 리팩토링을 필요로) 데이터를 기반으로 국가를 반환하는 코드 한 가지가있다 나는에서 취득했다 http://ipverse.net/

그것은 면허가 있어야한다 그러나 틀리면 저를 정정하십시오. 웹 사이트에 따르면 데이터는 5 개의 큰 RIR에 의해 제공됩니다.

웹 사이트는 데이터를 ~ 5am까지 업데이트합니다. IP 블록을 업데이트하는 Cron 작업은 오전 6시에 예정되어 있습니다. 데이터는 정확해야합니다.

https://github.com/jaecktec/LicenseFreeGeoIpLocation

의견/제안을 추가하시기 바랍니다.