Страницы

Поиск по вопросам

среда, 10 июля 2019 г.

Как скачать файл через прокси Python?

Как собственно скачать файл через прокси HTTP/SOCKS4/SOCKS5 на питоне?


Ответ

Вот пример, как можно файл скачать через socks5-прокси на Питоне 3 без monkey-patching socket модуля:
#!/usr/bin/env python3 import urllib.request import socks # $ pip install PySocks from sockshandler import SocksiPyHandler # from pysocks
socks_port = 9050 # tor socks5 port opener = urllib.request.build_opener( SocksiPyHandler(socks.PROXY_TYPE_SOCKS5, "localhost", socks_port) ) urllib.request.install_opener(opener) #NOTE: global for the process
urllib.request.urlretrieve(url, filename)
Можно не устанавливать opener, чтобы другие соединения в том же процессе не затрагивать, а использовать его напрямую: opener.open(url)

Для http-прокси, также можно build_opener() использовать:
from urllib.request import ProxyHandler, build_opener
opener = build_opener(ProxyHandler(dict(http='host:port')))

Комментариев нет:

Отправить комментарий