首页 > 解决方案 > Python更改全局代理设置

问题描述

我想知道是否有人知道如何通过 python 更改 Windows 10 机器的全局代理设置。我的目标是创建一个请求代理的脚本,然后将它们设置为整个机器的全局。因此,如果我打开 chrome 或任何浏览器,流量会流经代理。

但是这种技术只影响通过 cmd 运行的流量

  1. 我尝试了 cmd 中的 netsh 函数示例:

    netsh set proxy ..
    
  2. 我也尝试使用代理启动 chrome 浏览器,但这也没有用,参考这篇文章:https ://winaero.com/blog/override-proxy-settings-google-chrome/

到目前为止,我的代码只是从具有代理列表的网站中获取代理。

谢谢

标签: pythoncmdproxy

解决方案


要以编程方式在 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 才能确认新的代理设置。


推荐阅读