方法是利用网址:http://pv.sohu.com/cityjson?ie=utf-8,返回String类型的ip地址:
public static String getNetIp() { String ip = ""; InputStream inputStream = null; try { URL infoUrl = new URL("http://pv.sohu.com/cityjson?ie=utf-8"); URLConnection connection = infoUrl.openConnection(); HttpURLConnection httpConnection = (HttpURLConnection) connection; int responseCode = httpConnection.getResponseCode(); if (responseCode == HttpURLConnection.HTTP_OK) { inputStream = httpConnection.getInputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, "gb2312")); StringBuilder builder = new StringBuilder(); String line = null; while ((line = reader.readLine()) != null) { builder.append(line); } inputStream.close(); int start1=builder.indexOf(":"); String str1=builder.substring(start1+1); int start2=str1.indexOf("\""); String str2=str1.substring(start2+1); int start3=str2.indexOf("\""); ip=str2.substring(0,start3); return ip; } } catch (IOException e) { e.printStackTrace(); } return null; }
注意用到网络连接的方法不能用在主线程