我正在为Windows编写一个命令行工具,它使用libcurl从互联网上下载文件。如何找出浏览器的代理设置?
很明显,当用户在代理服务器后面时,下载不起作用,因为代理需要配置。然而,我想让我的工具尽可能简单,并且不必为用户配置代理服务器造成负担。我的工具甚至没有配置文件,所以用户必须在每个命令中传递代理设置,或者设置一个环境变量或者其他方式 - 太麻烦了。
所以我想,每个人的浏览器通常都会被正确设置,代理配置和一切。即使是最基本的用户也是如此,否则“他们的互联网将无法工作”。
所以我想我可以通过查看IE的代理设置来找出是否使用代理。
我怎么去呢?更具体地说:
- 在Windows中是否有一组“代理设置”,所有浏览器(可能是IE浏览器)都使用,还是必须为IE,Firefox,Opera等编写不同的例程?
- 我知道我可以直接从适当的注册表位置读取值,如果它们是手动配置的,但是这也适用于“自动检测代理服务器?”。我甚至不得不为这种选择而烦恼,还是(几乎)从未使用过?
在人们开始推荐替代方案之前:我使用C,所以我仅限于Win32 API,我真的很想继续使用C和libcurl。
[请在此查找代码来获得IE的代理设置。] http://stackoverflow.com/a/12601449/ 559746 – 2012-09-26 12:21:20