今天突然想去抓一波代理,结果看到代理分类的时候有点懵,时间有点久了都忘了这些分类有啥区别了,这篇就简单记录一下几种代理的区别。
文中关于几者区别来自这篇文章
文章作者巴拉巴拉说了一大堆,我觉得使用一个表格来说明问题回很直观:
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"}
显然的,正常请求的情况下请求显示的结果与高匿代理是一致的,其他几种代理容易被检测到是使用了代理,而且代理使用不恰当还会污染代理池,这导致不少代理商的代理池直接不能用了,使用代理的时候务必注意~