Аутентифицировать Scrapy HTTP прокси - PullRequest
3 голосов
/ 20 ноября 2011

Я могу установить http-прокси с помощью request.meta ['proxy'], но как мне аутентифицировать прокси?

Это не работает для указания пользователя и передачи:

request.meta['proxy'] = 'http://user:pass@123.456.2323:2222'

При осмотре мне, возможно, придется отправить request.headers ['Proxy-Authorization'], но в каком формате я могу отправить его?

1 Ответ

8 голосов
/ 20 ноября 2011

имя пользователя и пароль в кодировке base64 в форме «имя пользователя: пароль»

import base64

# Set the location of the proxy
proxy_string = choice(self._get_proxies_from_file('proxies.txt')) # user:pass@ip: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
...