Há poucos dias queria adicionar uma função para analisar a localização geográfica do endereço IP no backend do site. Li alguns blogs na Internet e encontrei alguns programas, mas sempre achei que a escrita não era concisa. o suficiente e parecia prolixo. O programa abaixo parece bastante simples, então eu resolvi e depurei. Ele pode ser usado. O programa chama a interface fornecida pelo "Tencent IP Sharing Plan". No entanto, as strings retornadas por esses dois sites têm formatos um pouco diferentes e devem ser analisadas separadamente.
public String getAddressByIP(){ try { String strIP = "0.0.0.0"; URL url = novo URL( "http://ip.qq.com/cgi-bin/searchip?searchip1=" + URLConnection conn =); url.openConnection(); leitor BufferedReader = new BufferedReader(new InputStreamReader(conn.getInputStream(), "GBK")); null; resultado StringBuffer = new StringBuffer(); while((line = reader.readLine()) != null) { result.append(line } reader.close(); "A localização deste IP é:" )); strIP = strIP.substring(strIP.indexOf( ":") + 1); strIP.indexOf("província")); String cidade = strIP.substring(strIP.indexOf("província") + 1, strIP.indexOf("cidade")); } catch(IOException e) { return "Falha na leitura" }}
Apegado:
Interface Sina: http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=
Interface Taobao: http://ip.taobao.com/service/getIpInfo.php?ip=[string de endereço IP]