完整方法如下:
/**
* 获取外网的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;
}