我开发了一款关键应用程序,被跨国公司使用。全球各地的办公室用户需要能够安装此应用程序。
该应用程序实际上是Excel的插件,我们有一个基于Setuptools的easy_install自动安装程序,可以确保每当用户打开Excel时,所有项目的依赖项都会自动安装或更新。这一切都非常优雅,因为用户很少意识到所有安装都完全在后台进行。
不幸的是,我们正在扩张并开设新办事处,这些办事处都有不同的代理设置。这些设置似乎每天都在变化,所以我们无法跟上外包的安全人员更改内容而没有告知我们的情况。这很糟糕,但我们只能绕过去。
我想编写程序来检测Windows工作站上运行的系统范围代理设置:
组织中的每个人都运行Windows XP和Internet Explorer。我已经验证,无论他们身在何处,每个人都可以从IE下载我们的东西而没有问题。
因此,我需要做的就是检测IE正在使用哪些代理设置,并使Setuptools使用这些设置。理论上,所有这些信息都应该在注册表中..但是否有更好的方法来查找它,以确保在人们升级IE时不会更改?例如,是否有Windows API调用可以用于发现代理设置?
总结一下:
我们在Windows XP上使用Python 2.4.4
我们需要检测Internet Explorer的代理设置(例如主机、端口和代理类型)
我将使用这些信息动态重新配置easy_install,以便它可以通过代理下载egg文件。
更新0:
我忘记了一个重要的细节:每个站点都有一个自动配置“pac”文件。
在Windows\CurrentVersion\InternetSettings\AutoConfigURL中有一个关键字,指向本地服务器上包含类似javascript文件的HTTP文档。 pac脚本基本上是一系列嵌套的if语句,将URL与正则表达式进行比较,然后最终返回所选代理服务器的主机名。该脚本是一个名为FindProxyForURL(url,host)的单个javascript函数。
因此,挑战就在于找出任何给定服务器要使用哪个代理。唯一100%保证的方法是查找pac文件并从Python调用Javascript函数。
有什么建议吗?是否有更优雅的方法来做到这一点?
该应用程序实际上是Excel的插件,我们有一个基于Setuptools的easy_install自动安装程序,可以确保每当用户打开Excel时,所有项目的依赖项都会自动安装或更新。这一切都非常优雅,因为用户很少意识到所有安装都完全在后台进行。
不幸的是,我们正在扩张并开设新办事处,这些办事处都有不同的代理设置。这些设置似乎每天都在变化,所以我们无法跟上外包的安全人员更改内容而没有告知我们的情况。这很糟糕,但我们只能绕过去。
我想编写程序来检测Windows工作站上运行的系统范围代理设置:
组织中的每个人都运行Windows XP和Internet Explorer。我已经验证,无论他们身在何处,每个人都可以从IE下载我们的东西而没有问题。
因此,我需要做的就是检测IE正在使用哪些代理设置,并使Setuptools使用这些设置。理论上,所有这些信息都应该在注册表中..但是否有更好的方法来查找它,以确保在人们升级IE时不会更改?例如,是否有Windows API调用可以用于发现代理设置?
总结一下:
我们在Windows XP上使用Python 2.4.4
我们需要检测Internet Explorer的代理设置(例如主机、端口和代理类型)
我将使用这些信息动态重新配置easy_install,以便它可以通过代理下载egg文件。
更新0:
我忘记了一个重要的细节:每个站点都有一个自动配置“pac”文件。
在Windows\CurrentVersion\InternetSettings\AutoConfigURL中有一个关键字,指向本地服务器上包含类似javascript文件的HTTP文档。 pac脚本基本上是一系列嵌套的if语句,将URL与正则表达式进行比较,然后最终返回所选代理服务器的主机名。该脚本是一个名为FindProxyForURL(url,host)的单个javascript函数。
因此,挑战就在于找出任何给定服务器要使用哪个代理。唯一100%保证的方法是查找pac文件并从Python调用Javascript函数。
有什么建议吗?是否有更优雅的方法来做到这一点?