【问题标题】:Python change global proxy settingsPython更改全局代理设置
【发布时间】:2020-08-08 11:16:21
【问题描述】:

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

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

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

    netsh set proxy ..
    
  2. 我也试过用代理启动chrome浏览器,但同样不行,参考这篇文章:https://winaero.com/blog/override-proxy-settings-google-chrome/

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

谢谢

【问题讨论】:

  • 你试过什么? StackOverflow 更像是一个“这就是我所做的......我做错了什么”的地方,而不是一个“你能告诉我如何编写这个代码”的地方。

标签: python cmd proxy


【解决方案1】:

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

【讨论】:

  • 非常感谢 chrome 是否也受此设置影响???
  • 所有程序都应该受到此设置的影响,只要它们被配置为使用系统代理。在 Firefox 上,设置为 Use system proxy settings,但请尝试并测试一下。
猜你喜欢
  • 2014-12-18
  • 2013-09-06
  • 2011-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-04
  • 2015-06-28
相关资源
最近更新 更多