写过WEB后端代码的同学都比较清楚,为了获取远程访问用户的IP地址, 我们一般会取请求头里的REMOTE_ADDR、HTTP_VIA 、HTTP_X_FORWARDED_FOR 三个地址。 在用户没有使用代理的情况下, REMOTE_ADDR就是用户的真实地址, 而后两个值为空。 但在使用了代理后,则根据这几个字段值的情况分几种:
高匿代理
这种是最理想的代理, REMOTE_ADDR是代理服务器的地址, HTTP_VIA 、HTTP_X_FORWARDED_FOR没值, 服务器无法感知用户是否使用了代理
匿名代理
这三个字段的值都是代理服务器的IP地址,服务器知道你使用了代理, 但不知道你的真实IP
透明代理
REMOTE_ADDR是代理IP,但HTTP_X_FORWARDED_FOR是你的真实IP地址, 虽然网络通道上是经过了代理服务器, 但服务器依然知晓你的真实地址。
综上,在需要隐藏你自己的IP信息的情况下, 最理想的就是使用高匿代理了。
检测方法
可以直接挂上代理访问一些测试网站,然后查看返回的结果里是否包含自己的真实IP, 这类测试网站很多, 例如 http://api.trs.ai/api/v1/reqinfo
获取代理地址
网上有很多免费的可以获取代理IP的网站,自己写爬虫就可以抓取, 例如 http://p.trs.ai/
自己搭建代理服务器
使用免费或其他付费代理地址总归数数据需要经过那些不在自己掌控之中的服务器, 理论上说, 这些代理服务器可以对你的数据进行监控或二次处理。 因此最安全的方法就是自己搭建代理服务器, 限于成本原因我们不可能租用太多VPS做这样的事情, 那么使用手机、家庭电脑来作为代理服务器就是一个不错的选择, 可参考方案 https://www.jianshu.com/p/1f96b5c5a9ed