我正在编写一个针对Windows的命令行工具,使用libcurl从互联网下载文件。
显然,当用户处于代理服务器后面时,下载就无法工作,因为需要配置代理。但是我希望我的工具尽可能简单,不必让用户负担配置代理的责任。我的工具甚至没有配置文件,所以用户否则必须在每个命令中传递代理设置,或设置环境变量等,这太麻烦了。
因此我想,每个人的浏览器通常已经设置正确,代理已经配置好了。这对于即使是最基本的用户来说也是真实的,否则“他们的互联网将无法工作”。
所以我想通过查看IE的代理设置来确定是否使用代理。
如何操作?更具体地说:
- 在Windows中,是否存在一组“代理设置”,由所有浏览器(可能是IE)使用,还是我需要为IE、Firefox、Opera等编写不同的例程?
- 我知道如果手动配置,则可以直接从适当的注册表位置读取值,但是“自动检测代理服务器”是否也适用?我是否需要费心处理该选项,或者它(几乎)从未使用过?
在人们开始建议替代方案之前:我正在使用C,因此仅限于Win32 API,并且我真的非常想继续使用C和libcurl。