今天突然想去抓一波代理,结果看到代理分类的时候有点懵,时间有点久了都忘了这些分类有啥区别了,这篇就简单记录一下几种代理的区别。

 

文中关于几者区别来自这篇文章

文章作者巴拉巴拉说了一大堆,我觉得使用一个表格来说明问题回很直观:

  REMOTE_ADDR
HTTP_VIA
HTTP_X_FORWARDED_FOR
透明代理 Proxy IP Proxy IP Your IP
匿名代理 Proxy IP Proxy IP Proxy IP
混淆代理 Proxy IP Proxy IP Random IP
高匿代理 Proxy IP not determinted not determinted
 1 import flask
 2 from flask import request, jsonify
 3 
 4 
 5 app = flask.Flask(__name__)
 6 
 7 
 8 @app.route('/')
 9 def test():
10     headers = {
11         'REMOTE_ADDR': request.environ.get('REMOTE_ADDR'),
12         'HTTP_VIA': request.environ.get('HTTP_VIA'),
13         'HTTP_X_FORWARDED_FOR': request.environ.get('HTTP_X_FORWARDED_FOR')
14     }
15     return jsonify(headers)
16 
17 
18 app.run('127.0.0.1', 5000)

 

那我们正常请求的时候应该是怎么样的呢?

通过flask简单的搭建一个服务器测试一下,在网页中请求http://127.0.0.1:5000/后页面的返回结果如下:

{"HTTP_VIA":null,"HTTP_X_FORWARDED_FOR":null,"REMOTE_ADDR":"127.0.0.1"}

显然的,正常请求的情况下请求显示的结果与高匿代理是一致的,其他几种代理容易被检测到是使用了代理,而且代理使用不恰当还会污染代理池,这导致不少代理商的代理池直接不能用了,使用代理的时候务必注意~