使用Python在Windows中设置代理设置(使用InternetSetOption)

时间:2015-07-10 18:44:32

标签: python proxy wininet internetsetoption

我编写了一个小脚本,需要能够使用Python启用和禁用代理设置。现在我编辑注册表来实现这一点,但它似乎不适用于所有版本的Windows,所以我宁愿使用InternetSetOption。有关API的信息非常缺乏,大多数示例都在C中,我不知道: https://support.microsoft.com/en-us/kb/226473

它可能看起来有点像这样(这个片段实际上用于刷新浏览器代理设置):

import ctypes
INTERNET_OPTION_REFRESH = 37
INTERNET_OPTION_SETTINGS_CHANGED = 39

internet_set_option = ctypes.windll.Wininet.InternetSetOptionW
internet_set_option(0, 38, 0, 0)    
internet_set_option(0, INTERNET_OPTION_REFRESH, 0, 0)
internet_set_option(0, INTERNET_OPTION_SETTINGS_CHANGED, 0, 0)

1 个答案:

答案 0 :(得分:0)

我实际上通过大量的试验和错误来解决这个问题。工作示例:

private ActorRef caller = null;

inside onReceive() :
if (message instanceof CountReq) {
  this.caller = getSender();
  remote.tell(message, getSelf());
}
if (message instanceof CountRes) {
  caller.tell(message , getSelf());
}