며칠 전, 웹사이트 백엔드에 IP 주소의 지리적 위치를 분석하는 기능을 추가하고 싶었는데, 인터넷에서 몇몇 블로그를 읽고 몇 가지 프로그램을 찾았지만, 글이 간결하지 않다는 느낌이 늘 있었습니다. 충분하고 장황한 느낌이 들었습니다. 아래 프로그램은 꽤 간단한 것 같아서 정리해서 디버깅해봤습니다. 물론 ip138에서 제공하는 인터페이스로 변경해서 사용할 수도 있습니다. 그러나 이 두 웹사이트에서 반환되는 문자열은 형식이 다소 다르므로 별도로 구문 분석해야 합니다.
공개 문자열 getAddressByIP(){ 시도 { 문자열 strIP = "0.0.0.0"; URL url = 새 URL( "http://ip.qq.com/cgi-bin/searchip?searchip1=" + strIP); url.openConnection(); BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream(), "GBK")); null; StringBuffer result = new StringBuffer(); while((line = reader.readLine()) != null) { result.append(line) } strIP = result.substring(result.indexOf() "이 IP의 위치는 다음과 같습니다." )); strIP = strIP.substring(strIP.indexOf( ":") + 1); strIP.indexOf("지방")); 문자열 도시 = strIP.substring(strIP.indexOf("지방") + 1, strIP.indexOf("도시")); } catch(IOException e) { return "읽기 실패" }}
첨부된:
Sina 인터페이스: http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=
타오바오 인터페이스: http://ip.taobao.com/service/getIpInfo.php?ip=[ip 주소 문자열]