Windows下以服务运行时Python urllib.getproxies()无法工作

1 投票
1 回答
923 浏览
提问于 2025-04-17 15:48

我在我的应用程序中使用 urllib.getproxies() 来检测代理设置。

当我在 Python 命令行中调用这个函数时,它运行得很好。

但是,当我的应用程序作为服务运行时(只有在作为服务运行时),urllib.getproxies() 却返回一个空的字典。

我使用的是 Windows 2008 R2 和 Python 2.7。

你们知道这可能是什么原因吗?谢谢!

1 个回答

0

所以答案是,在Windows系统中,代理设置是存储在注册表里的,具体位置在HKEY_CURRENT_USER。

因为这个服务是以一个特殊用户身份运行,所以它在自己的HKEY_CURRENT_USER中找不到这些设置。

解决办法有两个:

  1. 让这个服务以另一个用户身份运行。
  2. 读取正确用户的注册表。

撰写回答