有没有办法通过Linux中的Python启用tor作为系统代理设置

时间:2019-05-28 10:00:00

标签: python linux proxy tor

我正在从事一个项目,该项目需要在启用和未启用Tor的情况下访问某些网站,并记录内容差异。 我正在研究deepin(这是一个基于Linux的debian发行版),并使用Python 2.7完成任务。问题是我必须手动启用/禁用tor,并在每次运行脚本时更改系统代理设置。现在,我知道可以从Python本身发出shell命令来启用tor(服务tor启动),但是我不知道如何从Python中启用/禁用系统代理设置。

我已经尝试过this,但是没有运气。

2 个答案:

答案 0 :(得分:1)

使用os.system这样设置所需的代理。

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

要取消设置,只需使用

os.system("unset http_proxy")

编辑

Tor使用SOCKS代理。对于袜子代理,请使用

os.system("export socks_proxy="socks://username:Password@Proxy_IP:Port/")

答案 1 :(得分:0)

让事情正常进行,如果其他人遇到相同的问题,请在此处发布:

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将重置代理设置。找到解决方案here