Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我想解析一个PAC文件以获取一些代理信息。。。只是不在Explorer中_Javascript_Python_Windows_Internet Explorer - Fatal编程技术网

Javascript 我想解析一个PAC文件以获取一些代理信息。。。只是不在Explorer中

Javascript 我想解析一个PAC文件以获取一些代理信息。。。只是不在Explorer中,javascript,python,windows,internet-explorer,Javascript,Python,Windows,Internet Explorer,跟进: 我正在开发一个在WindowsXP上运行的Python 2.4应用程序。它需要能够从HTTP下载各种资源,并且它必须在我们所有使用“PAC”文件自动选择HTTP代理的办公地点工作 多亏有人回答了我的上一个问题,我终于找到了一种在Python中执行Javascript的技术,这真的很容易: js = win32com.client.Dispatch('MSScriptControl.ScriptControl') js.Language = 'JavaScript' js.AddCode(

跟进:

我正在开发一个在WindowsXP上运行的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文件引用了许多函数,如shExpMatchisPlainHostName——这些函数大概是由Microsoft Internet Explorer免费提供的。如果我只是使用上面的方法在Widnows脚本中运行PAC文件,它将失败,因为这些函数没有丢失

所以我需要的是一种与IE完全相同的环境设置方法。最明显的方法是以IE相同的方式导入函数

我发现Firefox包含一个包含这些函数的JS文件,我想我可以尝试在微软的脚本主机上运行Firefox的JS,但这听起来像是一个冒险的想法。我真正想要的是让javascript环境100%成为微软的标准,而不是让我的生活变得更加艰难

有什么建议吗


另外,你可以看到一个。不幸的是我不能发表我们的。。。这将违反公司安全

您能从远程主机下载PAC文件吗?我这样问是因为python中的urllib通常使用从注册表检索的静态代理信息。

然而,如果你能得到那个文件,那么我想你也能得到另一个文件——然后你使用FF版本的想法就会生效。

是的,我可以下载它。这是最简单的部分。我还可以通过Win32Com将其推送到Windows脚本主机。问题是它不会运行,因为我没有微软的标准PAC函数的实现。因此,如果你可以下载或推送它,你也可以下载/推送文件的另一个版本,其中已经定义了shExpMatch等函数(如你所说的FF那样)。这样,即使没有完整的IE环境,你也可以对PAC进行评估。正是如此,我需要找到微软实现这些功能的方法。我可以看到Mozilla的实现——它在一个JS文件中。但我需要这个尽可能接近MS标准。