Есть ли способ включить tor в качестве настроек системного прокси через Python в Linux - PullRequest
0 голосов
/ 28 мая 2019

Я работаю над проектом, который требует доступа к некоторым веб-сайтам с включенным и не включенным режимом и регистрирует различия в содержании. Я работаю над Deepin (который является дистрибутивом Debian на основе Linux) и использую Python 2.7 для выполнения этой задачи. Проблема в том, что мне приходится вручную включать / отключать tor и изменять настройки прокси-сервера системы каждый раз, когда я запускаю скрипт. Теперь я знаю, что могу запустить команду оболочки из самого Python, чтобы включить tor (запуск службы tor), но я не могу понять, как включить / отключить настройки прокси-сервера системы из Python.

Я уже пробовал это , но не повезло.

Ответы [ 2 ]

1 голос
/ 28 мая 2019

Используйте os.system для установки желаемого прокси-сервера следующим образом.

import os
os.system("export http_proxy="http://username:Password@Proxy_IP:Port/")

Для сброса просто используйте

os.system("unset http_proxy")

EDIT

Tor использует SOCKS прокси. Для прокси носков используйте

os.system("export socks_proxy="socks://username:Password@Proxy_IP:Port/")
0 голосов
/ 28 мая 2019

Получил, что работает, публикуя здесь, если у кого-то есть такая же проблема:

from selenium import webdriver
import stem.process
from stem import Signal
from stem.control import Controller
from splinter import Browser
proxyIP = "127.0.0.1"
proxyPort = 9050
proxy_settings = {"network.proxy.type":0,
    "network.proxy.socks": proxyIP,
    "network.proxy.socks_port": proxyPort
}
browser = Browser('firefox', profile_preferences=proxy_settings)
driver = browser.driver
driver.get('https://whatismyip.com')

изменение network.proxy.type на 1 сбрасывает настройки прокси. Решение найдено здесь

...