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

2024-03-28 21:45:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我在做一个项目,需要访问一些网站与不启用tor,并记录内容的差异。 我正在开发deepin(这是一个基于linux的debian发行版),并使用python2.7来完成这项任务。问题是,我必须手动启用/禁用tor,并在每次运行脚本时更改系统代理设置。现在,我知道我可以从Python本身发出shell命令来启用tor(servicetorstart),但是我不知道如何从Python启用/禁用系统代理设置。你知道吗

我已经试过this,但是运气不好。你知道吗


Tags: 项目命令脚本代理内容网站linux系统
2条回答

使用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

相关问题 更多 >