python - Python更改全局代理设置
问题描述
我想知道是否有人知道如何通过 python 更改 Windows 10 机器的全局代理设置。我的目标是创建一个请求代理的脚本,然后将它们设置为整个机器的全局。因此,如果我打开 chrome 或任何浏览器,流量会流经代理。
但是这种技术只影响通过 cmd 运行的流量
我尝试了 cmd 中的 netsh 函数示例:
netsh set proxy ..
我也尝试使用代理启动 chrome 浏览器,但这也没有用,参考这篇文章:https ://winaero.com/blog/override-proxy-settings-google-chrome/
到目前为止,我的代码只是从具有代理列表的网站中获取代理。
谢谢
解决方案
要以编程方式在 Windows 上设置系统范围的代理,您可以更改注册表,即:
from winreg import *
proxy = "127.0.0.1:8080"
status = 1 # 0 disable 1 enable
keyVal = 'Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings'
key = OpenKey(HKEY_CURRENT_USER, keyVal, 0, KEY_ALL_ACCESS)
SetValueEx(key, "ProxyServer", 0, REG_SZ, proxy)
SetValueEx(key, "ProxyEnable", 0, REG_DWORD, status)
CloseKey(key)
笔记:
就我而言,我必须关闭并重新打开 Firefox 才能确认新的代理设置。
推荐阅读
- html - 如何从我的链接中删除这个蓝色背景
- javascript - Discord.JS 为每个请求回复一个新代码
- php - 计算来自 2 个日期字段的记录总数
- c# - 如何在 LDAP 中搜索允许部分 dn 或 uo 匹配的员工?
- cmake - 如何将带有 ExternalProject_Add 的 zlib 作为依赖项添加到 CMake 项目
- c# - AcceptedAtAction 带正斜杠
- json - 用嵌套对象解析 Json
- flutter - 如何正确处理网页版中的图像回退?
- azure-active-directory - 如何使用 Bicep(或 ARM)创建 AD 应用注册和角色?
- sharepoint - 将 Sharepoint 访问凭据转移给其他用户