我想解析PAC文件以获取一些代理信息...只是不在资源管理器中

时间:2009-07-02 18:16:36

标签: javascript python windows internet-explorer

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。不幸的是,我无法发布我们的......这会违反公司安全。

1 个答案:

答案 0 :(得分:1)

您是否可以从远程主机下载PAC文件?我问,因为python中的urllib通常使用代理的静态信息,从注册表中检索 但是,如果你能够获得该文件,那么我认为你也可以获得另一个文件 - 然后你使用FF版本的想法就可以了。