精华内容
下载资源
问答
  • 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;
        }


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

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

    iOS 获取IP地址方法

      闲来无事做个东西要获取iPhone的ip地址,网上好多方法没法用,这有一个能用的,记录下来。
    

    代码块

    引入文件
    
    #import <ifaddrs.h>
    #import <arpa/inet.h>
    
    获取ip地址
    -(void)getIPaddress
    {
        NSString *address = @"error";
        struct ifaddrs * ifaddress = NULL;
        struct ifaddrs * temp_address = NULL;
        int success = 0;
        success = getifaddrs(&ifaddress);
        if(success == 0) {
            temp_address = ifaddress;
            while(temp_address != NULL) {
                if(temp_address->ifa_addr->sa_family == AF_INET) {    
                  if([[NSString stringWithUTF8String:temp_address->ifa_name] isEqualToString:@"en0"]) {
             address = [NSString stringWithUTF8String:inet_ntoa(((struct sockaddr_in *)temp_address->ifa_addr)->sin_addr)];
                    }
                }
                temp_address = temp_address->ifa_next;
            }
        }
    
    
        NSLog(@"获取到的IP地址为:%@",address);
       }
    
    展开全文
  • 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();
        }

     

    展开全文
  • C# 获取IP地址

    千次阅读 2016-11-03 17:27:20
    一、Asp.Net 获取客户端Ip地址: 参考:http://blog.163.com/m13864039250_1/blog/static/213865248201461221050926/ Asp.Net获取客户端信息: ... 二、使用

    一、Asp.Net 获取客户端Ip地址:

    参考:http://blog.163.com/m13864039250_1/blog/static/213865248201461221050926/

    Asp.Net获取客户端信息:

    http://blog.163.com/m13864039250_1/blog/static/213865248201551845539358/


    二、使用Dns类获取Ip地址

    获取指定域名的ip地址,可能会获取到多个。

    但是ping的结果和浏览器显示的结果,是获取的结果数组中的第一个只

    //使用Dns获取ip地址可能会有多个
    Console.WriteLine("--------DNS获取--------");
    IPAddress[] addres = Dns.GetHostAddresses(host);
    foreach (var item in addres)
    {
        Console.WriteLine(item.ToString());
    }

    三、使用Ping类获取Ip地址

    获取指定域名的ip地址

    //使用ping 命令获取IP地址,缺点如果远程服务器不允许ping的情况下会获取失败
    Console.WriteLine("--------Ping命令获取--------");
    Ping p1 = new Ping();
    PingReply reply = p1.Send(host); //发送主机名或Ip地址
    if (reply.Status == IPStatus.Success)
    {
        Console.WriteLine(string.Format("Address: {0} ", reply.Address.ToString()));
    }
    

    更多ping命令使用介绍:C#使用ping命令

    四、CS客户端获取ip地址

    //CS应用获取客户端ip地址
    //RemoteEndpointMessageProperty endpointProperty = 
    //    OperationContext.Current.IncomingMessageProperties[RemoteEndpointMessageProperty.Name] 
    //    as RemoteEndpointMessageProperty;




    展开全文
  • 通过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)  {   //...
  • Java 通过Request请求获取IP地址

    万次阅读 多人点赞 2017-05-14 11:21:12
    Java 通过Request请求获取IP地址项目需要将不同省份的用户,展示不同内容,所以需要通过Request请求获取IP地址。先来贴代码, 如果你要生产环境使用就直接拿去用吧,我这边已经上线了。代码public class ...
  • 获取对外的IP地址获取本机局域网中的IP地址
  • Java获取本地ip地址

    千次阅读 2018-09-14 11:58:34
    下面先粘出我生产环境中没有获取到ip地址的一般简单的获取ip地址的流程,最后面是我的解决方法(代码): public static String getLocalIpAddr() { Enumeration&lt;NetworkInterface&gt; networks...
  • Java获取请求客户端的真实IP地址

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

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

    千次阅读 2018-06-27 12:22:22
    Android获取IP地址 之前做一个电脑端通过局域网控制手机端播放视频的软件,需要获取手机端无线网ip。 判断网络环境: String ip; ConnectivityManager conMann = (ConnectivityManager) this....
  • 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地址的工具类 * */ public class ipUtill { //获取ip地址 public static String getIpAddr(HttpServletRequest request){ String ipAddress = request.getHeader("x-forwarded-for"); if(...
  • 我本来是自动获取IP地址的呀,可是有时候老是宽带连不上去,那个又下方的小电脑状的东西还带有黄色的感叹号.后来打电话去电信那边,他们下派的公司员工上门给我弄一下.就把自动获取的IP地址改成手动获取的IP地址了呀...
  • c#获取ip地址

    千次阅读 2018-07-16 10:38:45
    public string getIp() { string ipAddress=null; try { string hostName=Dns.GetHostName(); IPHostEntry ipEntry=Dns.GetHostEntry(hostName); for(int i=0;i<ipEntry.AddressList.Length;i++) { ....
  • 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....
  • vm虚拟机获取ip地址

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

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

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

    千次阅读 2014-10-10 15:34:18
    Yii获取ip地址: Yii::app()->request->userHostAddress;
  • BAT 脚本技术-利用bat批处理脚本静态指定ip地址、自动获取ip地址设置。 利用 bat 设置 ip ,跟我们直接网络和共享中心设置的 ip 地址是一样的。 静态指定 ip 地址设置:【脚本需要用管理员权限来运行。】 动态获取...
  • 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}' |...
  • js获取ip地址

    千次阅读 2016-07-10 15:59:24
    //var ip=returnCitySN["cip"]; //alert(ip); alert(returnCitySN["cname"]+'ip地址是:'+returnCitySN["cip"]);
  • 解决电脑无法自动获取IP地址

    万次阅读 2015-10-12 09:00:15
    最近一段时间,电脑本地网卡和无线网卡都没法正常获取IP地址,下面给出解决办法~~winxp,win7,win8,win10同样适用~~
  • 根据主机名获取IP地址

    千次阅读 2016-04-04 16:57:28
    根据主机名获取IP地址
  • 利用spring获取ip地址

    千次阅读 2015-07-18 21:10:13
    package com.test; import javax.servlet.http.HttpServletRequest; import org.springframework.util.StringUtils; public class RequestUtil { ...* 获取IP地址 * @param req * @return String IP地址
  • IP地址获取】java获取客户端ip地址

    万次阅读 2018-08-31 16:44:38
    如何获取客户端ip和url访问中服务器端ip(如果是ip,不是域名)呢? String requestUrlIP = request.getServerName(); tring userIpAddr = request.getRemoteAddr(); System.out.println("***访问的Url中的...
  • 获取代理IP地址

    万次阅读 2018-06-29 10:36:42
    很多时候,需要用到代理IP。比如开发爬虫程序的时候,为了反爬,需要使用...从指定的网站抓取代理IP地址并存入数据库all_ip_table中,当前抓取的地址包括: 西刺网站 快代理网站 66代理网站 89代理网站 秘密代理...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 618,136
精华内容 247,254
关键字:

为什么总是在获取ip地址