完整方法如下:
/**
* 获取外网的IP(要访问Url,要放到后台线程里处理)
*
* @Title: GetNetIp
* @Description:
* @param @return
* @return String
* @throws
*/
public String GetNetIp() {
URL infoUrl = null;
InputStream inStream = null;
String ipLine = "-1";
HttpURLConnection httpConnection = null;
try {
infoUrl = new URL("http://www.1356789.com/");
URLConnection connection = infoUrl.openConnection();
httpConnection = (HttpURLConnection) connection;
int responseCode = httpConnection.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
inStream = httpConnection.getInputStream();
BufferedReader reader = new BufferedReader(
new InputStreamReader(inStream, "gb2312"));
StringBuilder strber = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null){
strber.append(line + "\n");
if(line.contains("您的IP是")){
ipLine = line.substring(6,line.length());
break;
}
}
Log.i(Exchange.EXTAG, "netIp:"+ipLine);
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
inStream.close();
httpConnection.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
}
return ipLine;
}
本文介绍了一种通过访问特定URL来获取设备外网IP地址的方法。该方法利用HTTP请求从指定网站读取页面内容,并从中解析出IP信息。具体实现包括使用URL类打开连接、读取响应数据并查找包含IP地址的文本。
809

被折叠的 条评论
为什么被折叠?



