有没有办法通过 Linux 中的 Python 启用 tor 作为系统代理设置
Is there a way to enable tor as system proxy settings through Python in Linux
我正在做一个项目,需要访问一些启用和不启用 tor 的网站,并记录内容差异。
我正在开发 deepin(这是一个基于 linux 的 debian 发行版),并使用 Python 2.7 来完成任务。问题是我必须手动 enable/disable tor,并在每次 运行 脚本时更改系统代理设置。现在,我知道我可以从 Python 本身发出 shell 命令来启用 tor(服务 tor 启动),但我不知道如何从 enable/disable 系统代理设置 Python.
我已经试过了this,但没有成功。
使用os.system
像这样设置所需的代理。
import os
os.system("export http_proxy="http://username:Password@Proxy_IP:Port/")
要取消设置,只需使用
os.system("unset http_proxy")
编辑
Tor 使用 SOCKS 代理。对于 socks 代理,使用
os.system("export socks_proxy="socks://username:Password@Proxy_IP:Port/")
一切正常,请在此发帖以防其他人遇到同样的问题:
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
我正在做一个项目,需要访问一些启用和不启用 tor 的网站,并记录内容差异。 我正在开发 deepin(这是一个基于 linux 的 debian 发行版),并使用 Python 2.7 来完成任务。问题是我必须手动 enable/disable tor,并在每次 运行 脚本时更改系统代理设置。现在,我知道我可以从 Python 本身发出 shell 命令来启用 tor(服务 tor 启动),但我不知道如何从 enable/disable 系统代理设置 Python.
我已经试过了this,但没有成功。
使用os.system
像这样设置所需的代理。
import os
os.system("export http_proxy="http://username:Password@Proxy_IP:Port/")
要取消设置,只需使用
os.system("unset http_proxy")
编辑
Tor 使用 SOCKS 代理。对于 socks 代理,使用
os.system("export socks_proxy="socks://username:Password@Proxy_IP:Port/")
一切正常,请在此发帖以防其他人遇到同样的问题:
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