提交 0e71699a 编写于 作者: Chongwen.jiang's avatar Chongwen.jiang

外网ip获取日志,,

上级 ae77aea5
流水线 #22364 已失败 于阶段
in 0 second
...@@ -4,6 +4,11 @@ import org.slf4j.Logger; ...@@ -4,6 +4,11 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Enumeration; import java.util.Enumeration;
public class IPUtil { public class IPUtil {
...@@ -30,7 +35,7 @@ public class IPUtil { ...@@ -30,7 +35,7 @@ public class IPUtil {
String header = request.getHeader(s); String header = request.getHeader(s);
// System.out.println(s+"::::"+header); // System.out.println(s+"::::"+header);
sb.append("headerName:").append(s) sb.append("headerName:").append(s)
.append("headerVal:").append(header); .append(" headerVal:").append(header).append(", ");
} }
logger.info("getIpAdrress-headers:{}", sb.toString()); logger.info("getIpAdrress-headers:{}", sb.toString());
...@@ -72,7 +77,53 @@ public class IPUtil { ...@@ -72,7 +77,53 @@ public class IPUtil {
if("0:0:0:0:0:0:0:1".equalsIgnoreCase(ip)){ if("0:0:0:0:0:0:0:1".equalsIgnoreCase(ip)){
ip = "127.0.0.1"; ip = "127.0.0.1";
} }
getPublicIp();
return ip; return ip;
} }
/**
* @Description 获取公网ip
* @Author Chongwen.jiang
* @Date 2020/2/24 16:54
* @ModifyDate 2020/2/24 16:54
* @Params []
* @Return java.lang.String
*/
private static String getPublicIp() {
try {
logger.info("getPublicIp...start......");
String path = "https://2020.ip138.com/";
URL url = new URL(path);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestProperty("contentType", "GBK");
conn.setConnectTimeout(5 * 1000);
conn.setRequestMethod("GET");
InputStream inStream = conn.getInputStream();
logger.info("getPublicIp.step2");
BufferedReader in = new BufferedReader(new InputStreamReader(
inStream, "GBK"));
StringBuffer buffer = new StringBuffer();
String line = "";
// 读取获取到内容的最后一行,写入
while ((line = in.readLine()) != null) {
buffer.append(line);
}
logger.info("getPublicIp.step3");
String str = buffer.toString();
logger.info("getPublicIp.step4.str:{}", str);
String ipString1 = str.substring(str.indexOf("["));
// 您的iP地址是:[223.112.202.205] 来自:江苏省常州市 移动
String ipsString2 = ipString1.substring(ipString1.indexOf("[") + 1,
ipString1.lastIndexOf("]"));
//获取当前IP地址所在地址
/*String ipsString3=ipString1.substring(ipString1.indexOf(": "),ipString1.lastIndexOf("</center>"));
System.err.println(ipsString3);*/
return ipsString2;
} catch (Exception e) {
logger.error("get-public-ip-timout-getPublicIp");
return "连接超时";
}
}
} }
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册