精华内容
下载资源
问答
  • 2021-04-17 07:14:59

    获取公网ip地址操作

    import javax.servlet.http.HttpServletRequest;

    /**

    *

    * 获取公网ip地址操作

    * @ClassNmae:NewClass

    * @author zlx-雄雄

    * @date 2017-8-16 11:42:41

    *

    */

    public class Ip {

    /**

    * @Description:获取公网ip地址操作

    * @param request

    * @return ip地址

    */

    public static String getRemoteLoginUserIp(HttpServletRequest request) {

    String ip = request.getHeader("x-forwarded-for");

    if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {

    ip = request.getHeader("Proxy-Client-IP");

    }

    if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {

    ip = request.getHeader("WL-Proxy-Client-IP");

    }

    if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {

    ip = request.getRemoteAddr();

    }

    return ip;

    }

    }

    更多相关内容
  • java获取公网IP

    热门讨论 2011-06-15 11:26:20
    java获取的是公网的IP地址,如想获取本机IP但不是公网IP查看我其他资源。
  • 一、java常用-java获取公网ip和本地ip获取本地ip代码:本地ip获取相对简单/*** 方法描述:获取操作的本机ip*@param request*@return*/public static String getLocalhostIpAddr() {String addr = null;try {addr = ...

    一、java常用-java获取公网ip和本地ip

    获取本地ip代码:

    本地ip获取相对简单

    /**

    * 方法描述:获取操作的本机ip

    *@param request

    *@return

    */

    public static String getLocalhostIpAddr() {

    String addr = null;

    try {

    addr = InetAddress.getLocalHost().getHostAddress();

    } catch (UnknownHostException e) {

    logger.error(String.format("UnknownHostException出错,原因:%s", e.getMessage()));

    }

    return addr;

    }获取公网ip代码:

    获取公网ip麻烦一点,我们通过ip138.com这个网站获取公网ip,而这个网站获取公网ip的接口是http://1212.ip138.com/ic.asp直接用java进行访问然后返回的数据进行解析和拆分组装就能获得公网ip

    /**

    * 方法描述:获取公网ip

    *@return

    */

    public static String getCommIpAddr() {

    try {

    URL url = new URL("http://1212.ip138.com/ic.asp");

    BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream()));

    String s = "";

    StringBuffer sb = new StringBuffer("");

    String webContent = "";

    while ((s = br.readLine()) != null) {

    sb.append(s + "\r\n");

    }

    br.close();

    webContent = sb.toString();

    int start = webContent.indexOf("[")+1;

    int end = webContent.indexOf("]");

    webContent = webContent.substring(start,end);

    return webContent;

    } catch (Exception e) {

    logger.error(String.format("Exception出错,原因:%s", e.getMessage()));

    return "error";

    }

    }效果图:

    2219b1e479961b5c90eb1903788f9dce.png

    展开全文
  • 首先写这个只是做个笔记,下次直接需要使用,真是不想吐槽有些文章标题党,搜的就是如何查看公网IP 外网IP ,你们标题挂着也是获取公网IP、 外网IP ,写的是获取本地的IP ,好像有大病。 做这个是因为项目可能要...
    • 首先写这个只是做个笔记,下次直接需要使用,真是不想吐槽有些文章标题党,搜的就是如何查看公网IP 外网IP ,你们标题挂着也是获取公网IP、 外网IP ,写的是获取本地的IP ,好像有大病。

    • 做这个是因为项目可能要部署很多个服务器,因为有些接口只有在一个服务器有白名单才能调通,需要获取公网IP 做判断去转发需要用到如何查看自己公网的IP。

    1. 获取公网IP 外网IP

    访问 http://pv.sohu.com/cityjson?ie=utf-8可以直接获取到自己的外网IP

    		String ip = "http://pv.sohu.com/cityjson?ie=utf-8";
    		String inputLine = "";
    		String read = "";
    		String toIp="";
    		try {
    			URL url = new URL(ip);
    			HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
    			BufferedReader in = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
    			while ((read = in.readLine()) != null) {
    				inputLine += read;
    			}
    			String ObjJson=inputLine.substring(inputLine.indexOf("=")+1,inputLine.length()-1);
    			JSONObject jsonObj= JSON.parseObject(ObjJson);
    			toIp=jsonObj.getString("cip");
    		} catch (Exception e) {
    			toIp="";
    			log.error("------------------异常信息{}",e);
    		}
    		log.info("-------------------------{}",toIp);
    		if(Ip.equals(toIp)){
    			return true;
    		}
    		return false;
    
    1. 本地IP
    	try {
    			InetAddress ip = Inet4Address.getLocalHost();
    			System.out.println(ip.getHostAddress());
    		} catch (UnknownHostException e) {
    			e.printStackTrace();
    		}
    
    展开全文
  • JAVA获取公网ip

    2021-02-12 14:49:09
    在ipv4地址稀缺的今天,分配到公网ip几乎是不可能...思路是首先服务端获取公网ip,将IP加密后作为文章发布到莫个知名论坛上。客户端通过查询这篇文章,并解密来获取ip这样就可以实现动态解析了由于电脑还加了个路由...

    在ipv4地址稀缺的今天,分配到公网ip几乎是不可能的,但是我拨号之后的ip竟然是公网IP。

    将自己的电脑作为服务器·,做点好玩的程序,就成为了可能。

    由于运营商的ip是动态分配的公网ip的所以就需要做一个动态解析。

    但是又没有服务器,应该怎么办呢?

    思路是首先服务端获取公网ip,将IP加密后作为文章发布到莫个知名论坛上。客户端通过查询这篇文章,并解密来获取ip

    这样就可以实现动态解析了

    由于电脑还加了个路由器,所以不能直接获取公网ip,此时就需要借助第三方网站了。

    百度搜索ip会出现

    85efba5518691fb445827a5635aac6b4.png

    通过分析找到了关键地址

    http://2017.ip138.com/ic.asp

    fc5a97262f4a3aeb144b884d32cc4c3c.png

    这个网页非常简洁,包含ip和地址

    通过爬取这个地址即可获得公网ip

    1 package动态ip发布;2

    3 importjava.io.BufferedReader;4 importjava.io.FileWriter;5 importjava.io.IOException;6 importjava.io.InputStreamReader;7 importjava.io.PrintWriter;8 importjava.net.MalformedURLException;9 importjava.net.URL;10 importjava.net.URLConnection;11

    12 public classMain {13 public static voidmain(String args[]) {14 System.out.println(getip.publicip());15 }16 }17 classgetip {18 public staticString publicip() {19 URL url = null;20 URLConnection urlconn = null;21 BufferedReader br = null;22 try{23 url = new URL("http://2017.ip138.com/ic.asp");//爬取的网站是百度搜索ip时排名第一的那个

    24 urlconn =url.openConnection();25 br = new BufferedReader(newInputStreamReader(26 urlconn.getInputStream()));27 String buf = null;28 String get= null;29 while ((buf = br.readLine()) != null) {30 get+=buf;31 }32 intwhere,end;33 for(where=0;where

    更新:

    有园友对文章有些疑问

    79a4b5f9135b1e790d706e363b369cc8.png

    下面进行补充

    c19da7df1996f990d5f218bda514472f.png

    如上图可以看到下面有一个链接,打开后是

    4d4372c00e7d232476c89fccf34ee1a9.png

    按F12打开浏览器的调试工具

    60f40234ec7aca971d5387b27dca9de9.png

    很容易发现这个地址,打开后就是

    4215f7092c47be8dfc5aa091bb965111.png

    http://2018.ip138.com/ic.asp

    展开全文
  • package SocketTest; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.InetAddress; import java.net.URL; ...
  • Java获取客户端公网IP

    2021-02-27 18:33:00
    目前总结了两种获取客户端的公网IP方法。方法一:通过第三方网站进行获取()public static void main(String[] args){String ip = "";String chinaz = "http://ip.chinaz.com";StringBuilder inputLine = new ...
  • 本机ip public static String getIpAddr(HttpServletRequest request) { if (request == null) { return null; } String ip = null; // X-Forwarded-For:Squid 服务代理 String ipAddresses = request....
  • 通过异步任务来获取当前用户的ip地址,使用的时候调用getRemoteIP方法就可以,需要传一个可以获取公网ip的url地址,这个百多很多,比如,搜狐,淘宝之类的都有,同时还有一个超时的任务,具体看代码了
  • 思路:利用 IP地址查询的网站 获取当前电脑的公网IP地址获取公网IP的几个方法(提供多个,实现错误重试)// 方法1private String getNowIP1() throws IOException {String ip = null;String chinaz = ...
  • 地址获取工具类 import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.alibaba.fastjson.JSONObject; import com.zx.common.utils.http.HttpUtils; /** * 获取地址类 */ public class ...
  • 本文给大家汇总介绍了2种分别使用新浪和淘宝接口,实现根据IP地址获取详细的地理位置的代码,非常的实用,有需要的小伙伴可以参考下。
  • 在平时,如果想获取本机的公网IP,我们都知道去百度查询一下,它就会出来。但是在代码中,如果获取到本机的公网IP呢?其实方法千千万,我在这里介绍一种比较简单、不需要其它依赖的方法,代码如下public static ...
  • public static void main(String[] args) { try { // 打开连接 Document doc = Jsoup.connect("http://chaipip.com/").get(); Elements eles = doc.select("#ip"); ...
  • Java获取本机公网IP方法汇总

    千次阅读 2019-12-27 11:39:02
    文章目录一、通过第三方IP查询平台曲线获取本机公网IP(最准确、不稳定) 一、通过第三方IP查询平台曲线获取本机公网IP(最准确、不稳定) 原理:通过类似ipip.net站长工具,获取访问者设置IP信息,由于国内设置...
  • Java获取公网IP

    2019-04-01 02:41:00
    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.MalformedURLException; import java...
  • 主要介绍了java获取linux服务器上的IP操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • java获取请求者真实的公网ip地址

    千次阅读 2020-05-07 01:28:38
    java程序中获取浏览者真实的公网ip地址,程序健壮性极好,代码如下: publicvoiddownLoad(HttpServletRequestrequest){ Stringip=null; //处理代理情况 ip=request.getHeader("x-forwarded-for"); if...
  • java获取公网ip

    千次阅读 2013-01-29 15:08:36
    * 获取外网地址 *@engineer wangrun *@Description  * time 2013-1-29 下午01:34:03 * @return void */ public static void getPublicIP(){ String inputLine = "";  String read = "";  St
  • java根据ip获取国家、地区名称,附带ipjava根据ip获取国家、地区名称,附带ip
  • packagecom.ini.ip;importjava.io.IOException;importjava.io.InputStream;importjava.io.PrintWriter;importjava.net.URL;importjava.net.URLConnection;importjava.util.regex.Matcher;importjava.util.regex.Patt...
  • Java获取本机公网ip

    万次阅读 2016-06-27 14:07:47
    import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketException; import java.util.Enumeration; /** * * @anthor leo * @date 2016年6月27日下午12:40:14 * @description ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,754
精华内容 4,301
关键字:

java获取公网ip

java 订阅