Vor ein paar Tagen wollte ich im Backend der Website eine Funktion zur Analyse des geografischen Standorts der IP-Adresse hinzufügen. Ich habe einige Blogs im Internet gelesen und ein paar Programme gefunden, aber ich hatte immer das Gefühl, dass der Text nicht prägnant war genug und fühlte sich ausführlich an. Das folgende Programm scheint recht einfach zu sein, daher habe ich es aussortiert und debuggt. Das Programm ruft die von „Tencent IP Sharing Plan“ bereitgestellte Schnittstelle auf. Die Formate der von diesen beiden Websites zurückgegebenen Zeichenfolgen unterscheiden sich jedoch etwas und müssen separat analysiert werden.
public String getAddressByIP(){ try { String strIP = "0.0.0.0"; neue URL( "http://ip.qq.com/cgi-bin/searchip?searchip1=" + URLConnection conn = url.openConnection(); BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream(), "GBK")); null; StringBuffer result = new StringBuffer(); while((line = reader.readLine()) != null) { result.append(line } reader.close(); „Der Standort dieser IP ist:“ )); strIP = strIP.substring(strIP.indexOf( :“) + 1; strIP.indexOf("province")); String city = strIP.substring(strIP.indexOf("province") + 1, strIP.indexOf("city")); } Catch(IOException e) { return „Lesen fehlgeschlagen“ }}
Beigefügt:
Sina-Schnittstelle: http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=
Taobao-Schnittstelle: http://ip.taobao.com/service/getIpInfo.php?ip=[IP-Adresszeichenfolge]