c++Windows自动检测代理设置
c++ Windows automatically detect proxy settings
我有一个C++程序,我想在我的客户端机器上使用它。然而,我的一些客户是代理人。因此,我希望我的程序能够自动检测这些代理。
我已经尝试了许多解决方案,例如读取代理设置的注册表,尝试Windows API的,等等
然而,他们都没有取得好成绩。例如,注册表有时保存PAC文件的url,有时保存实际代理地址本身。除此之外,如果代理是在客户端机器上设置的,我还找不到任何与代理相关的用户名和密码(有些用户说他们有)。
所以,基本上我的问题是:我如何在C++中自动确定我的客户端的代理设置,以便稍后在我的LibCurl请求中使用代理设置:
- 代理地址
- 代理端口
- 代理用户
- 代理密码
我无法让它发挥作用,我已经试了两周了,但没有任何改善。。。
您不能以通用的方式读取代理设置,因为每个应用程序都可以自由地以任何方式存储它。您应该能够使用WinHttpGetIEProxyConfigForCurrentUser函数读取Internet Explorer代理,它也适用于使用此设置的用户浏览器,如Google Chrome。
如何在C++中自动确定客户端的代理设置,以便在LibCurl请求中使用代理设置?
libproxy
就是答案!
GitHub 上的Libproxy主页
GitHub 上的Libproxy回购
根据主页,它具有以下功能:
- 支持所有主要平台:Windows、Mac和Linux/UNIX(请参阅即将发布的0.4版本)
- 极小的堆芯占地面积
- libproxy核心中没有外部依赖项(libproxy插件可能有依赖项)
- 稳定的外部API中只有3个函数(1.0将提供完全的稳定性)
- 网络拓扑结构变化的动态调整
- 处理所有场景中的代理设置的标准方法
- 崇高的快乐和成就感
相关文章:
- 为不同配置设置MSVC_RUNTIME_LIBRARY的正确方法是什么
- 在C++/Linux中设置单调时钟的一些技巧
- 如何在选项卡视图Qt中设置一个新项目,并保存以前的项目
- 代理对象的常量正确性
- 嵌套在类中时无法设置成员数据
- 需要帮助设置在C++中使用的Potrace
- 如何在自删除后将对象设置为nullptr
- 将指针设置为"nullptr"并不能防止双重删除?
- 如何在Ubuntu中使用cmake设置qt4
- C REST SDK(Casablanca) - 如何获得HTTP代理设置
- 在 C++ 代码中设置代理配置
- c++Windows自动检测代理设置
- 如何在Linux中使用c获取系统代理设置
- CefSharp 3 在运行时设置代理
- Internet Explorer 如何通知其他浏览器有关代理设置更改的信息
- 在 Windows 上的 C++ 中设置系统代理和身份验证
- 通过注册表更改 PPPoE DSL 连接的代理设置
- 设置用于脚本监控的代理QScriptEngineAgent
- 使用复共轭来设置/获取数组值的代理
- 检测Windows(IE)代理设置更改