//得到用户外网的ip
public void getWWIP(){
// 输入流
InputStream in = null;
// 到外网提供者的Http连接
HttpURLConnection httpConn = null;
String externalIpProviderUrl="http://checkip.dyndns.org/";
try {
// 打开连接
URL url = new URL(externalIpProviderUrl);
httpConn = (HttpURLConnection) url.openConnection();
// 连接设置
HttpURLConnection.setFollowRedirects(true);
httpConn.setRequestMethod("GET");
httpConn.setRequestProperty("User-Agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows 2000)");
// 获取连接的输入流
in = httpConn.getInputStream();
byte[] bytes=new byte[1024];// 此大小可根据实际情况调整
// 读取到数组中
int offset = 0;
int numRead = 0;
while (offset < bytes.length
&& (numRead=in.read(bytes, offset, bytes.length-offset)) >= 0) {
offset += numRead;
}
// 将字节转化为为UTF-8的字符串
String receivedString=new String(bytes,"UTF-8");
Pattern pattern=Pattern.compile("(\\d{1,3})[.](\\d{1,3})[.](\\d{1,3})[.](\\d{1,3})", Pattern.CASE_INSENSITIVE);
String wwip="";
Matcher matcher=pattern.matcher(receivedString);
while(matcher.find()){
wwip=matcher.group(0);
}
JSONObject jsonobj=new JSONObject();
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("text/json; charset=GBK");
jsonobj.put("ip", wwip);
response.getWriter().write(jsonobj.toString());
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
in.close();
httpConn.disconnect();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
服务器端获取外网ip
最新推荐文章于 2023-10-07 16:20:57 发布