Java提供了用于獲取IP地址和歸屬地信息的接口,這些接口可以使開發人員輕松地獲取這些信息并對其進行處理。
InetAddress address = InetAddress.getByName("www.baidu.com"); String ip = address.getHostAddress();
上面的代碼可以獲得百度網站的IP地址。
URL url = new URL("http://ip.taobao.com/service/getIpInfo.php?ip=" + ip); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); int responseCode = connection.getResponseCode(); if (responseCode == 200) { InputStream inputStream = connection.getInputStream(); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); StringBuilder stringBuilder = new StringBuilder(); String line; while ((line = bufferedReader.readLine()) != null) { stringBuilder.append(line).append("\n"); } JSONObject jsonObject = new JSONObject(stringBuilder.toString()); String country = jsonObject.getString("country"); String region = jsonObject.getString("region"); String city = jsonObject.getString("city"); System.out.println(country + " " + region + " " + city); }
上面的代碼通過調用淘寶提供的IP信息查詢接口,可以獲得對應IP地址的歸屬地信息。
在實際開發中,我們可以將這些接口封裝成工具類,方便我們在項目中隨時調用。同時,我們也應該注意接口的調用次數和頻率,避免對接口服務提供者造成負擔。