.NET代理检测我在使用.NET检测通过InternetExplorer配置的代理设置时遇到问题。我正在编写一个代理感知客户端应用程序,为了进行测试,我设置了一个由9个squid服务器组成的数组来支持HTTP和HTTP的各种身份验证方法。我有一个脚本可以将IE更新到我选择的任何配置(哪个代理,通过“自动”、PAC或硬编码检测)。我尝试了以下3种方法来通过.NET检测IE配置。就我而言,我发现.NET选择了错误的代理服务器集。IE具有正确的设置,如果我使用IE浏览网页,我可以看到我正在通过wireshark访问正确的服务器。WebRequest.GetSystemWebProxy().GetProxy(目的地);GlobalProxySelection.Select.GetProxy(目的地);WebRequest.DefaultWebProxy以下是我的提示:我找到了解决方案。.NET使用“WinHttpWeb代理自动发现服务”来执行PAC脚本并可能缓存结果。只需停止并重新启动此服务即可。以下命令为我执行此操作。NETSTOPWinHttpAutoProxySvcNETSTARTWinHttpAutoProxySvchttp://wiki.blackviper.com/wiki/WinHTTP_Web_Proxy_Auto-Discovery_Service我按照JamesKovacs关于附加调试器的建议找到了这个。在发布问题之前,我已经镜像了代码并尝试附加调试器失败,但无法解释到底发生了什么。用尽选项,我再次尝试调试,几个小时后在第76行的_AutoPWebProxyScriptEngine.cs中发现以下注释,这导致我发现//InWin2003winhttpaddedaWindowsServicehandlingtheauto-proxydiscovery.InXPusingwinhttp//API将在进程中加载??、编译和执行wpad文件。这也将加载COM,因为//WinHttp需要COM来编译文件。由于这些原因,我们不在XP上使用WinHttp,而//仅在存在“WinHTTPWeb代理自动发现服务”的较新操作系统版本上使用。我有同样的问题,我设法在注册表中获取/设置代理设置:以上是C#学习教程:.NET代理检查并分享所有内容,如果它对每个人都有用,你需要进一步了解C#学习教程,希望大家多多关注——[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternetSettings]"ProxyServer"="<你的代理IP地址>:8080""ProxyEnable"=dword:00000001"ProxyOverride"="
