The method is to use the URL: http://pv.sohu.com/cityjson?ie=utf-8, return String Type of ip address:
public static String getNetIp() {
String ip = "";
InputStream inputStream = null;
try {
URL infoUrl = new URL("http://pv.sohu.com/cityjson?ie=utf-8"< span style="color: #000000;">);
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;
}
Note that the method of network connection cannot be used in the main thread
public static String getNetIp() {
String ip = "";
InputStream inputStream = null;
try {
URL infoUrl = new URL("http://pv.sohu.com/cityjson?ie=utf-8"< span style="color: #000000;">);
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;
}