我正在爲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