从this question开始:
我正在开发一个可在Windows XP上运行的Python 2.4应用程序。它需要能够从HTTP下载各种资源,它必须在我们所有办公地点使用“PAC”文件自动选择http代理。
感谢响应我之前问题的人,我设法找到了一种从Python中执行Javascript的技术,这很简单:
js = win32com.client.Dispatch('MSScriptControl.ScriptControl')
js.Language = 'JavaScript'
js.AddCode('function foo(a,b) {return a;}' )
result = js.Run( "foo", "hello" )
但问题出现了:
PAC文件引用了许多功能,例如 shExpMatch 和 isPlainHostName - 这些功能可能是由Microsoft Internet Explorer免费提供的。如果我只是使用上面的配方在Widnows Scripting中运行PAC文件,它将失败,因为这些功能不会丢失。
所以我需要的是一种与IE完全相同的方式来设置环境。显而易见的方法是以某种方式导入函数,就像IE一样。
我发现Firefox包含一个包含这些函数的JS文件,我想我可以尝试在微软的脚本主机上运行Firefox的JS,但这听起来像个冒险的想法。我真正想要的是使javascript环境100%微软标准,没有任何可以让我的生活更艰难的东西。
有什么建议吗?
PS。你可以看到example of a PAC file on Wikipedia。不幸的是,我无法发布我们的......这会违反公司安全。
答案 0 :(得分:1)
您是否可以从远程主机下载PAC文件?我问,因为python中的urllib通常使用代理的静态信息,从注册表中检索 但是,如果你能够获得该文件,那么我认为你也可以获得另一个文件 - 然后你使用FF版本的想法就可以了。