关于获取客户端IP问题

//相关代码
一、HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]
二、HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]
三、HttpContext.Current.Request.UserHostAddress

一、其中2和3的效果相同,区别可google。1表示能够获取到使用代理的IP地址,固然只是在客户端使用透明代理的时候才能获取到原始的IP地址。对于,使用了高匿的代理,服务器端是没法获取到原始IP的,所以这给爬虫工程师们留了一条后路。html

二、IIS日志中也会记录,访问的客户端的IP地址,他记录的IP地址和二、3记录的IP地址是相同的,若是使用的是代理记录的是代理IP地址。服务器

三、项目接触到的经验:一些学校内部的服务器,若是是学生使用本身的校园网这时候获取到的客户端IP有可能只是学生的内网地址而不是外网出口地址,可是若是是在外网访问学校的服务器这时候获取到的客户端IP是正常的就是客户端外网地址。学校内部也是多个用户共用一个外网地址。google

四、IP私有地址段spa

  

参考文章:代理

  https://www.cnblogs.com/bdqlaccp/p/3698589.html日志

  https://zh.wikipedia.org/wiki/%E4%B8%93%E7%94%A8%E7%BD%91%E7%BB%9Ccode

相关文章
相关标签/搜索