2011-11-20 74 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