Я хочу передать все трафик Python через HTTP-прокси-сервер, я проверил urlib2 и, например, запросит пакеты, их можно настроить для использования прокси-серверов, но как я могу использовать что-то вроде прокси-сервера всей системы для Python для прокси-сервера данные?
Как передать все трафик Python через прокси-сервер http?
Ответ 1
Система Linux сначала экспортирует переменные среды, подобные этой
$ export http_proxy="http://<user>:<pass>@<proxy>:<port>"
$ export HTTP_PROXY="http://<user>:<pass>@<proxy>:<port>"
$ export https_proxy="http://<user>:<pass>@<proxy>:<port>"
$ export HTTPS_PROXY="http://<user>:<pass>@<proxy>:<port>"
или в сценарии, который вы хотите пройти через прокси
import os
proxy = 'http://<user>:<pass>@<proxy>:<port>'
os.environ['http_proxy'] = proxy
os.environ['HTTP_PROXY'] = proxy
os.environ['https_proxy'] = proxy
os.environ['HTTPS_PROXY'] = proxy
#your code goes here.............
затем запустите скрипт Python
$ python my_script.py
ОБНОВИТЬ
Также вы можете использовать redsocks с этим инструментом, вы можете молча перенаправить все ваши TCP-соединения к PROXY с аутентификацией или без нее. Но вы должны позаботиться, потому что это для всех соединений, а не только для питона.
Системы Windows, вы можете использовать такие инструменты, как FreeCap, Proxifier, ProxyCap и настроить для работы за питоном исполняемого
Ответ 2
По общему признанию, это не совсем то, что вы ищете, но если вы знаете программный источник всего сетевого трафика в вашем коде на Python, вы можете сделать эту прокси-упаковку в самом коде. Чистое решение python предлагается с помощью модуля PySocks
в следующей ссылке:
https://github.com/httplib2/httplib2/issues/22
import httplib2
# detect presense of proxy and use env varibles if they exist
pi = httplib2.proxy_info_from_environment()
if pi:
import socks
socks.setdefaultproxy(pi.proxy_type, pi.proxy_host, pi.proxy_port)
socks.wrapmodule(httplib2)
# now all calls through httplib2 should use the proxy settings
httplib2.Http()
Теперь каждый вызов, сделанный с помощью httplib2
, будет использовать эти настройки прокси. Вы должны иметь возможность обернуть любой сетевой модуль, который использует сокеты для использования этого прокси.
https://github.com/Anorov/PySocks
Здесь упоминается, что это не рекомендуется, но, похоже, он работает нормально.
Ответ 3
введите описание изображения здесь
Может ли кто-нибудь помочь мне разобраться с вышеупомянутой проблемой, я перепробовал все, что не смогло передать имя пользователя и пароль.