应如何取B/S的B端的IP

Posted Tony Tan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了应如何取B/S的B端的IP相关的知识,希望对你有一定的参考价值。

我们常讨论说要取真实IP,不同场景所谓的真实IP含义不一样。

如你要根据客户端IP去判断客户所在区域,那么要记录客户的出口IP,这里的出口IP才是你所谓的真实IP。

如你要判断多个客户端是不是同一个,那么需要同时使用外网IP和内网IP才能区分:

  因为若仅使用内网IP,不同的内网有相同的内网IP;

  若仅使用外网IP,同一个内网的出口(外网IP)是同一个。

以上明白后,我们继续看:

HTTP请求记录的IP从内网到外网所有网关的IP都会记录在Header里

内网的IP依次记录在HTTP_X_FORWARDED_FOR,按,;或空格隔开。最外面的IP记录在REMOTE_ADDR。所以根据您的需求去取舍吧。

var REMOTE_ADDR = Request.ServerVariables["REMOTE_ADDR"];
var HTTP_X_FORWARDED_FOR = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];

 

以上是关于应如何取B/S的B端的IP的主要内容,如果未能解决你的问题,请参考以下文章

scrapy按顺序启动多个爬虫代码片段(python3)

Java Web如何获取客户端的Hostname?

我的计算机知识巩固

构建于 B/S 端的 3D 摄像头可视化监控方案

C/S与B/S架构的区别和优缺点

网络编程相关