Как работать с прокси в urllib3
У меня возникают проблемы с нахождением убедительных примеров того, как создать простой скрипт в urllib3, который открывает URL-адрес (через прокси-сервер), затем читает его и, наконец, печатает. Прокси требует аутентификации пользователя / прохода, но мне не понятно, как вы это делаете? Любая помощь будет оценена.
2 ответа
urllib3 имеет ProxyManager
компонент, который вы можете использовать. Вам нужно будет создать заголовки для компонента Basic Auth, вы можете сделать это вручную или использовать make_headers
помощник в urllib3.
Все вместе это будет выглядеть примерно так:
from urllib3 import ProxyManager, make_headers
default_headers = make_headers(proxy_basic_auth='myusername:mypassword')
http = ProxyManager("https://myproxy.com:8080/", headers=default_headers)
# Now you can use `http` as you would a normal PoolManager
r = http.request('GET', 'https://stackru.com/')
Я не могу комментировать, потому что мне не хватает репутации.
Я считаю, что правильный ответ на этот вопрос должен быть
from urllib3 import ProxyManager, make_headers
default_headers = make_headers(proxy_basic_auth='myusername:mypassword')
http = ProxyManager("https://myproxy.com:8080/", headers=default_headers)
# Now you can use `http` as you would a normal PoolManager
r = http.request('GET', 'https://stackru.com/')
(примечание: proxy_basic_auth, а не basic_auth)
Я пытался это с basic_auth в моей среде без какой-либо удачи. Shazow вы передали этот комментарий Git, который указал мне в правильном направлении