精华内容
下载资源
问答
  • 安卓手机获取IP地址

    千次阅读 2019-03-27 17:53:35
    安卓手机获取IP地址有两种方法: 一、请求获取IP地址的接口 许多获取IP地址的网站都有这个功能,例如我项目中用到过的接口 http://pv.sohu.com/cityjson?ie=utf-8, 然后通过解析返回值result 即可获得IP地址。 ...

    安卓手机获取IP地址有两种方法:

    一、请求获取IP地址的接口

    许多获取IP地址的网站都有这个功能,例如我项目中用到过的接口 http://pv.sohu.com/cityjson?ie=utf-8,

    然后通过解析返回值 result 即可获得IP地址。

    int start = result.indexOf("{");
    int end = result.indexOf("}");
    String json = result.substring(start, end + 1);
    if(json != null) {
        try {
            JSONObject jsonObject = new JSONObject(json);
            String phoneIp = "";
            phoneIp  = jsonObject.optString("cip");
    
            Log.d("---本机ip为---" + phoneIp);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    二、通过分别获取GPRS和无线网环境下的IP   (推荐)

    此种方法不依赖任何三方服务,亲测有效,比较可靠,代码如下。

    public class IpUtils {
        public static String getIPAddress(Context context) {
            NetworkInfo info = ((ConnectivityManager) context
                    .getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo();
            if (info != null && info.isConnected()) {
                if (info.getType() == ConnectivityManager.TYPE_MOBILE) {    // 当前使用2G/3G/4G网络
                    try {
                        for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements(); ) {
                            NetworkInterface intf = en.nextElement();
                            for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements(); ) {
                                InetAddress inetAddress = enumIpAddr.nextElement();
                                if (!inetAddress.isLoopbackAddress() && inetAddress instanceof Inet4Address) {
                                    return inetAddress.getHostAddress();
                                }
                            }
                        }
                    } catch (SocketException e) {
                        e.printStackTrace();
                    }
    
                } else if (info.getType() == ConnectivityManager.TYPE_WIFI) {    // 当前使用无线网络
                    WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
                    WifiInfo wifiInfo = wifiManager.getConnectionInfo();
                    String ipAddress = intIP2StringIP(wifiInfo.getIpAddress());    // 得到IPV4地址
                    return ipAddress;
                }
            } else {
                // 当前无网络连接,请在设置中打开网络
            }
            return null;
        }
    
        /**
         * 将得到的int类型的IP转换为String类型
         *
         * @param ip
         * @return
         */
        public static String intIP2StringIP(int ip) {
            return (ip & 0xFF) + "." +
                    ((ip >> 8) & 0xFF) + "." +
                    ((ip >> 16) & 0xFF) + "." +
                    (ip >> 24 & 0xFF);
        }
    }

     

    展开全文
  • 获取对外的IP地址获取本机在局域网中的IP地址
    获取对外的IP地址
    通过http请求从网站中取出ip字段。例如:http://ip.chinaz.com/,通过这个网址,加上简单的正则表达式,即可得到。

    	/** 
    	* @Description: Java获取本机在外网的IP地址
    	* 调用http://www.ip138.com/ip2city.asp的接口,获取计算机在外网对应的IP地址
    	* @date: 2017年6月25日 下午5:12:27
    	* @修改备注: 
    	*/
    	public static String getWebIp(String strUrl) {
    		  strUrl = "http://www.ip138.com/ip2city.asp";
    		  try {
    			   URL url = new URL(strUrl);
    			   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);
    			   System.out.println(webContent);
    			   return webContent;
    		  } catch (Exception e) {
    			   e.printStackTrace();
    			   return "error open url:" + strUrl;
    		  }
    	}

    	/** 
    	* @Description: Java获取本机在外网的IP地址
    	* 调用http://ip.chinaz.com的接口,获取计算机在外网对应的IP地址
    	* @date: 2017年6月25日 下午5:12:27
    	* @修改备注: 
    	*/
    	public static String getIPV4Address(){
    		String ipv4 = "";
    		String chinaz = "http://ip.chinaz.com";
    		
    		StringBuilder inputLine = new StringBuilder();
    		String read = "";
    		URL url = null;
    		HttpURLConnection urlConnection = null;
    		BufferedReader in = null;
    		try {
    			url = new URL(chinaz);
    			urlConnection = (HttpURLConnection) url.openConnection();
    		    in = new BufferedReader( new InputStreamReader(urlConnection.getInputStream(),"UTF-8"));
    			while((read=in.readLine())!=null){
    				inputLine.append(read+"\r\n");
    			}
    			//System.out.println(inputLine.toString());		//输出http://ip.chinaz.com网页详细信息
    		} catch (MalformedURLException e) {
    			e.printStackTrace();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}finally{
    			if(in!=null){
    				try {
    					in.close();
    				} catch (IOException e) {
    					e.printStackTrace();
    				}
    			}
    		}
    		
    		Pattern p = Pattern.compile("\\<dd class\\=\"fz24\">(.*?)\\<\\/dd>");
    		Matcher m = p.matcher(inputLine.toString());
    		if(m.find()){
    			String ipstr = m.group(1);
    			ipv4 = ipstr;
    			System.out.println("ipstr::"+ipstr);
    			System.out.println("ipv4::"+ipv4);
    		}
    		return ipv4;
    	}

    获取计算机在局域网的IP地址:

    	/** 
    	* @Description: 获取本机在局域网中的IP地址
    	* @date: 2017年6月6日 下午3:18:56
    	* @修改备注: 
    	*/
    	public static void get_LAN_IP(){
    		try{ 
    			System.out.println("本机的IP = " + InetAddress.getLocalHost().toString());
    		} catch (UnknownHostException e){ 
    			e.printStackTrace();
    		}
    	}


    展开全文
  • web获取ip地址

    千次阅读 2018-06-13 15:08:27
    * 获取请求主机IP地址,如果通过代理进来,则透过防火墙获取真实IP地址; * * @param request * @return 真实ip地址 */ public final static String getIpAddress(HttpServletRequest request) { String ip=re....
    /**
         * 获取请求主机IP地址,如果通过代理进来,则透过防火墙获取真实IP地址;
         *
         * @param request
         * @return 真实ip地址
         */
        public final static String getIpAddress(HttpServletRequest request) {
            String ip=request.getRemoteAddr();
            if(null==ip||"127.0.0.1".equals(ip)){
                // 获取请求主机IP地址,如果通过代理进来,则透过防火墙获取真实IP地址
                ip = request.getHeader("X-Forwarded-For");
                if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
                    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.getHeader("HTTP_CLIENT_IP");
                    }
                    if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
                        ip = request.getHeader("HTTP_X_FORWARDED_FOR");
                    }
                    if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
                        ip = request.getHeader("X-Real-IP");
                    }
                    if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
                        ip = request.getRemoteAddr();
                    }
                } else if (ip.length() > 15) {
                    String[] ips = ip.split(",");
                    for (int index = 0; index < ips.length; index++) {
                        String strIp = (String) ips[index];
                        if (!("unknown".equalsIgnoreCase(strIp))) {
                            ip = strIp;
                            break;
                        }
                    }
                }
            }
    
            return ip;
        }


    展开全文
  • Java获取ip地址

    千次阅读 2020-06-11 00:12:51
    需求:获取app端ip地址,并调用接口查询ip归属地。 bug:ip地址获取不一致。 2.ip归属地查询接口 淘宝API接口 http://ip.taobao.com/service/getIpInfo.php?ip=[ip地址字串] 测试过了没用,一直返回 {"msg":...

    目录

    1.介绍

    2.ip归属地查询接口

    淘宝API接口

    太平洋IP地址查询

    四川涪擎大数据技术有限公司

    深圳华辰接口

    请求示例

    上代码片段

    getIp()


    1.介绍

    需求:获取app端ip地址,并调用接口查询ip归属地。

    bug:ip地址获取不一致。

     

    2.ip归属地查询接口

    淘宝API接口

    http://ip.taobao.com/service/getIpInfo.php?ip=[ip地址字串]

    测试过了没用,一直返回

    {"msg":"the request over max qps for user ,the accessKey=public","code":4}

    太平洋IP地址查询

    http://whois.pconline.com.cn/ipJson.jsp?ip=xxx.xxx.xxx.xxx&json=true

    可用,不过项目中总会返回乱码问题

     

    后台跟老大咨询,他说之前买了x度推广的接口,结果申请发票一直没发过来,em....考虑了一下报销问题,还是选择用了阿里云市场的API,接口挺多的,任君选择,https://market.aliyun.com/products/?keywords=ip%E5%BD%92%E5%B1%9E%E5%9C%B0

     

    四川涪擎大数据技术有限公司

    http(s)://hcapi20.market.alicloudapi.com/ip

     

    深圳华辰接口

    http(s)://api01.aliyun.venuscn.com/ip

     

    请求示例

    public static void main(String[] args) {
    	   String host = "https://ips.market.alicloudapi.com";
    	    String path = "/iplocaltion";
    	    String method = "GET";
            //阿里云界面查看
    	    String appcode = "你自己的AppCode";
    	    Map<String, String> headers = new HashMap<String, String>();
    	    //最后在header中的格式(中间是英文空格)为Authorization:APPCODE 83359fd73fe94948385f570e3c139105
    	    headers.put("Authorization", "APPCODE " + appcode);
    	    Map<String, String> querys = new HashMap<String, String>();
    	    querys.put("ip", "127.0.0.1");
    
                //JDK 1.8示例代码请在这里下载:  http://code.fegine.com/Tools.zip
    
    	    try {
    	    	/**
    	    	* 重要提示如下:
    	    	* HttpUtils请从
    	    	* https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/src/main/java/com/aliyun/api/gateway/demo/util/HttpUtils.java
    	    	* 下载
    	    	*
    	    	* 相应的依赖请参照
    	    	* https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/pom.xml
    	    	*/
    	    	HttpResponse response = HttpUtils.doGet(host, path, method, headers, querys);
    //System.out.println(response.toString());如不输出json, 请打开这行代码,打印调试头部状态码。
                    //状态码: 200 正常;400 URL无效;401 appCode错误; 403 次数用完; 500 API网管错误
    	    	//获取response的body
    	    	System.out.println(EntityUtils.toString(response.getEntity()));
    	    } catch (Exception e) {
    	    	e.printStackTrace();
    	    }
    	}

     

    上代码片段

    接口请求,原本是直接调用request.getRemoteAddr();后发现ip获取不对劲,改用getIp()方法。

    //调用ip访问接口
    //         String ip = request.getRemoteAddr();
                String ip = getIp(request);
                if(StringUtil.isNotEmpty(ip)){
                	po.setIp(ip);
                	logger.info("===3.获取到的手机ip====="+request.getHeader(""));
                }
                
                String host = "https://api01.aliyun.venuscn.com";
    			String path = "/ip";
    			String method = "GET";
    			String appcode = "xxxxxxxx";
    			Map<String, String> headers = new HashMap<String, String>();
    			headers.put("Authorization", "APPCODE " + appcode);
    			Map<String, String> querys = new HashMap<String, String>();
    			querys.put("ip", ip);
    			HttpResponse response = HttpUtils.doGet(host, path, method, headers, querys);
                String ipString = EntityUtils.toString(response.getEntity());
                JSONObject jsonString = JSONObject.fromObject(ipString);
                if("200".equals(jsonString.getString("ret"))){
                	JSONObject jsonObject = jsonString.getJSONObject("data");
                	String countryName = jsonObject.getString("country");
                	String regionName = jsonObject.getString("region");
                	String cityName = jsonObject.getString("city");
                	po.setIpAddress(regionName+"省"+cityName+"市");
                	logger.info("获取到的ip地址"+po.getIpAddress());
                }

    getIp()

    当经过代理服务器或者有多个ip地址时,取最开始的ip地址。

     public static String getIp(RequestWrapper request) {
            String ip = request.getHeader("X-Forwarded-For");
            if(StringUtils.isNotEmpty(ip) && !"unKnown".equalsIgnoreCase(ip)){
            	logger.info("=====1.查看是否多个ip地址======="+ip);
                //多次反向代理后会有多个ip值,第一个ip才是真实ip
                int index = ip.indexOf(",");
                if(index != -1){
                    return ip.substring(0,index);
                }else{
                    return ip;
                }
            }
            ip = request.getHeader("X-Real-IP");
            if(StringUtils.isNotEmpty(ip) && !"unKnown".equalsIgnoreCase(ip)){
            	logger.info("=====2.查看是否多个ip地址======="+ip);
                return ip;
            }
            return request.getRemoteAddr();
        }

     

    展开全文
  • iOS 获取IP地址方法

    千次阅读 2018-08-13 00:05:10
    iOS 获取IP地址方法 闲来无事做个东西要获取iPhone的ip地址,网上好多方法没法用,这有一个能用的,记录下来。 代码块 引入文件 #import &lt;ifaddrs.h&gt; #import &lt;arpa/inet.h&gt...
  • uniapp如何获取IP地址

    2021-04-30 10:40:36
    uniapp如何获取IP地址获取ip地址js获取ip地址uni-app获取ip地址 获取ip地址 最近一个uni项目涉及到获取IP地址,在网上看到用引入外部JS的方法来获取,uni-app配置模板没有找到index.html这个文件,所以这个没法在...
  • SpringMVC怎样获取客户端的ip地址

    万次阅读 2017-05-10 20:37:33
    SpringMVC怎样获取客户端的ip地址再spring框架管理下,你可以再任意一个spring管理的bean中使用 @Autowired注解来注入一个 HttpServletRequest,然后就可以从请求头中获取ip地址了。示例代码如下:@Component ...
  • 通过sed命令获取IP地址

    千次阅读 2015-10-25 12:28:41
    通过sed命令获取IP地址,linux获取IP地址
  • QT 获取IP地址

    千次阅读 2017-09-19 13:43:53
    Qt网络编程:获取本地Ip地址:   [cpp] view plain copy //获取本地IP片地址,  QList addList = QNetworkInterface::allAddresses();    foreach(QHostAddress address,addList)  {   //...
  • C# 获取IP地址

    千次阅读 2016-11-03 17:27:20
    一、Asp.Net 获取客户端Ip地址: 参考:http://blog.163.com/m13864039250_1/blog/static/213865248201461221050926/ Asp.Net获取客户端信息: ... 二、使用
  • BAT 脚本技术-利用bat批处理脚本静态指定ip地址、自动获取ip地址设置。 利用 bat 设置 ip ,跟我们直接在网络和共享中心设置的 ip 地址是一样的。 静态指定 ip 地址设置:【脚本需要用管理员权限来运行。】 动态获取...
  • Java获取请求客户端的真实IP地址

    万次阅读 多人点赞 2016-08-03 12:26:17
    整理网友的材料,最后有源码,亲测能解决所有java获取IP真实地址的问题 整理的这里: 1、链接1 2、链接2 JSP里,获取客户端的IP地址的方法是: request.getRemoteAddr() ,这种方法在大部分情况下都是有效的。...
  • Java 通过Request请求获取IP地址

    万次阅读 多人点赞 2017-05-14 11:21:12
    Java 通过Request请求获取IP地址项目需要将不同省份的用户,展示不同内容,所以需要通过Request请求获取IP地址。先来贴代码, 如果你要在生产环境使用就直接拿去用吧,我这边已经上线了。代码public class ...
  • 我本来是自动获取IP地址的呀,可是有时候老是宽带连不上去,那个又下方的小电脑状的东西还带有黄色的感叹号.后来打电话去电信那边,他们下派的公司员工上门给我弄一下.就把自动获取的IP地址改成手动获取的IP地址了呀...
  • * 获取ip地址的工具类 * */ public class ipUtill { //获取ip地址 public static String getIpAddr(HttpServletRequest request){ String ipAddress = request.getHeader("x-forwarded-for"); if(...
  • 易语言获取IP地址

    千次阅读 2016-08-19 10:28:36
    易语言获取本机的内网和外网IP地址,并写到目录下
  • Java获取本地ip地址

    千次阅读 2018-09-14 11:58:34
    下面先粘出我在生产环境中没有获取到ip地址的一般简单的获取ip地址的流程,最后面是我的解决方法(代码): public static String getLocalIpAddr() { Enumeration&lt;NetworkInterface&gt; networks...
  • 这里写自定义目录标题1、获得访问controller端口的客户端ip地址2、获得访问endpoint端口的客户端ip地址3、根据服务器的主机名获得ip地址,并拼接成可以直接访问的链接 1、获得访问controller端口的客户端ip地址 ...
  • vm虚拟机获取ip地址

    千次阅读 2019-03-25 19:40:21
    这里之所以是查看下IP ,是我们后面要建一个Centos远程工具Xshell 连接Centos的时候,需要IP地址,所以我们这里先 学会查看虚拟机里的Centos7的IP地址 首先我们登录操作系统 用户名root 密码 root 发现 ens33 没有 ...
  • Android获取IP地址

    千次阅读 2018-06-27 12:22:22
    Android获取IP地址 之前在做一个电脑端通过局域网控制手机端播放视频的软件,需要获取手机端无线网ip。 判断网络环境: String ip; ConnectivityManager conMann = (ConnectivityManager) this....
  • JAVA获取主机IP地址

    千次阅读 2018-12-06 09:29:06
    JAVA获取主机IP地址 java 获取主机IP地址工具类 import org.springframework.web.context.request.RequestAttributes; import org.springframework.web.context.request.RequestContextHolder; import org....
  • js获取ip地址

    千次阅读 2016-07-10 15:59:24
    //var ip=returnCitySN["cip"]; //alert(ip); alert(returnCitySN["cname"]+'ip地址是:'+returnCitySN["cip"]);
  • httpServletRequest获取IP地址

    千次阅读 2014-02-20 11:04:31
    在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。如果使用了反向代理软件,用...
  • C#获取IP地址

    万次阅读 2014-01-01 10:09:40
    1、获取客户端IP /// /// 获取客户端Ip /// /// public String GetClientIp() { String clientIP = ""; if (System.Web.HttpContext.Current != null) { clientIP = System.Web.HttpContext.Current.Re
  • 获取IP地址和MAC地址

    2013-06-20 11:33:58
    获取IP地址,再通过IP地址获取MAC地址,Mark一下. //获得IP地址 WSADATA wsaData; char name[155]; char * ip; PHOSTENT hostinfo; if(WSAStartup(MAKEWORD(2,0),&wsaData)==0) { if((gethostname(name,...
  • 获取对方ip地址

    千次阅读 2020-04-07 22:43:54
    当然了获取对方IP地址的方法很多,但是最简单的是使用一个软件就可以获取对方的IP地址,然后可以在网上查这个IP地址。 关于IP地址查定位不准确问题: 1、 针对wifi数据来讲 精准度来讲的话还算可以 ,百度查出来的为...
  • Python获取本机的IP地址和所有IP地址

    千次阅读 2018-03-25 22:05:59
    #通过hostname查询,注意这个并不一定会得到真确的IP地址 print(socket.gethostbyname(socket.gethostname())) #通过访问自己UDP方式获取,这个会获取当前的准确地址 def get_host_ip(): try: ...
  • laravel-获取ip地址

    千次阅读 2020-03-16 12:31:19
    php-laravel-获取ip地址-2020-3-16 $ip = $_SERVER["REMOTE_ADDR"];
  • 使用Python获取IP地址

    千次阅读 2018-01-19 10:12:49
    Windows下获得IP地址的方法 使用socket模块 使用拨号上网的话,一般都有一个本地ip和一个外网ip,使用python可以很容易的得到这两个ip 使用gethostbyname和gethostbyname_ex两个函数可以实现 #!/usr/bin/env ...
  • Python获取ip地址

    千次阅读 2014-12-25 16:28:16
    1. 获取ip/MAC地址等 获取本地ip地址首先想到的命令是ifconfig,然后从结果中提取出ip地址,Python代码如下: def get_ip(): cmd = "/sbin/ifconfig | grep 'inet addr' | grep -v 127.0.0.1 | awk '{print $2}' |...

空空如也

空空如也

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

怎样获得ip地址