2011-11-20 42 views
2

我可以使用request.meta ['proxy']设置一个http代理,但是如何验证代理?验证Scrapy HTTP代理

这不起作用指定用户,并通过:

request.meta['proxy'] = 'http://user:[email protected]:2222' 

环视,我可能要发送request.headers [“代理授权”],但什么样的格式做我把它?

回答

6

用户名和密码的base64在形式编码 “用户名:密码”

import base64 

# Set the location of the proxy 
proxy_string = choice(self._get_proxies_from_file('proxies.txt')) # user:[email protected]:port 
proxy_items = proxy_string.split('@') 
request.meta['proxy'] = "http://%s" % proxy_items[1] 

# setup basic authentication for the proxy 
user_pass=base64.encodestring(proxy_items[0]) 
request.headers['Proxy-Authorization'] = 'Basic ' + user_pass