无法在 Windows 7 上查询代理“自动检测设置”

2023-12-03

我正在尝试捕获代理设置(“自动检测设置”)。我的代码适用于 XP 和 Vista。 但它不适用于 Windows 7

请查看目标平台详情

Windows 7 企业版、IE 8.0.7600.16385、Wininet.dll 8.0.7600.16535

请查看代码片段

INTERNET_PER_CONN_OPTION_LIST List;
INTERNET_PER_CONN_OPTION Option[1];

unsigned long nSize = sizeof(INTERNET_PER_CONN_OPTION_LIST);
Option[0].dwOption = INTERNET_PER_CONN_FLAGS;
List.dwSize = sizeof(INTERNET_PER_CONN_OPTION_LIST);
List.pszConnection = NULL;
List.dwOptionCount = 1;
List.dwOptionError = 0;
List.pOptions = Option;

if(!InternetQueryOption(NULL, INTERNET_OPTION_PER_CONNECTION_OPTION, &List, &nSize))
    AfxMessageBox(L"InternetQueryOption failed! (%d)\n");

TCHAR a[100];
swprintf(a, L"Flag value is : %d",Option[0].Value.dwValue, 80); 
AfxMessageBox(a);

但在 Windows 7 上,即使选中 IE 中的“自动检测设置”选项,程序也会说未设置该标志

我也尝试使用 WinHttp api,如下所示。

WINHTTP_CURRENT_USER_IE_PROXY_CONFIG stProxyConfig = {0};

WinHttpGetIEProxyConfigForCurrentUser(&stProxyConfig);

if (stProxyConfig.fAutoDetect == TRUE)
    AfxMessageBox(L"Auto proxy detection enabled");
else
    AfxMessageBox(L"Auto proxy detection disabled");

在 Windows 7 上,上述代码也无法捕获“自动检测设置”选项。 对此的任何意见都将受到高度赞赏。

谢谢 约翰


这是 IE8 中引入的一项新的性能优化功能,称为 SmartWPAD。

WinINET 跟踪给定网络是否有 WPAD 服务器(例如,自动检测功能用于查找什么)。如果网络没有 WPAD 服务器,则当您执行 InternetQueryOption 时,WinINET 会有效地“屏蔽”“使用自动检测”位,这样您的代码就不会浪费大量时间进行代理查找,而代理查找将不会返回任何代理这个网络。

如果您必须获取 UI 状态(破坏 WinINET SWPAD 功能),因为例如您计划获取此信息并将其缓存以在其他网络或类似网络上使用,那么您必须首先查询 INTERNET_PER_CONN_FLAGS_UI - 当您使用此选项,您将恢复 UI 状态,与 SWPAD 功能无关。

如果此查询失败,则系统正在运行以前版本的 Internet Explorer,客户端应使用 INTERNET_PER_CONN_FLAGS 再次查询。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法在 Windows 7 上查询代理“自动检测设置” 的相关文章

随机推荐

  • 以编程方式将文件夹复制并粘贴到映射的网络驱动器中

    我试图在映射的网络驱动器上复制一个文件夹 不是文件 而是整个目录 并将其新版本以不同的名称粘贴到同一位置 如果我使用本地驱动器 下面的代码效果很好 但是 我在使用网络驱动器时遇到身份验证错误 DirectoryCopy mappedserv
  • 在 Java-8 中重构多个 If' 语句

    我需要验证班级中的必填字段 例如 9字段不得是null 我需要检查它们是否全部为空 但我现在使用多个 if 语句 如下所示 StringBuilder mandatoryExcessFields new StringBuilder MAND
  • 没有 ObservableDataService 的提供者

    我收到错误 No provider for ObservableDataService ObservableDataService https github com sanex3339 bannerscreator blob master
  • 使用 mutate_at 用列名更新单元格值

    我正在处理调查数据 有些问题要求参与者检查所有适用于他们的选项 在我当前拥有的数据框中 每个可能的响应都有一列 如果参与者选择了该选项 则记录值为 1 例如 对于问题 您在工作中经历过以下哪种情绪 使用选项 无聊 压力 满足 我的数据框将如
  • 将表单输入值发送到 URL

    我有一个简单的搜索表单
  • GitHub 中的分支之间合并

    我分叉了一个 GitHub 存储库 然后我向我的叉子推送了一些更改 然后原始存储库合并了我的更改和其他一些更改 现在 我想合并那些我缺少的更改 我尝试了简单的拉动 然后推送 但这会产生重复的提交 最好的方法是什么 您可能对每个存储库都有一个
  • ModuleNotFoundError:没有名为“camelot”的模块

    我想从 pdf 中提取表格并为此 我用的是卡米洛特 但每当我尝试导入它时 我都会收到此错误 import camelot Traceback most recent call last File
  • C/C++签名中两个const的含义

    我一直在包装一个 gl 文件scheme并且失败了两次gl h标头 我使用的是 OSx 所以它可能依赖于平台 但我在生活中的其他地方从未见过这种语法 typedef void glMultiDrawElementsProcPtr GLenu
  • 使用结构体在 C 中输入 CSV 文件

    我想打印来自的数据 csv逐行文件 由comma分隔符 此代码打印垃圾值 enum gender M F struct student int stud no enum gender stud gen char stud name 100
  • 使用 EF4 实施识别关系

    我目前的情况是需要删除实体而无法访问关联的实体ObjectContext 我读到了有关识别关系的内容 它们似乎正是我所需要的 一旦一个对象不再被其 父 对象引用 我想删除该对象 我正在使用 Visual Studio 2010 Premiu
  • 如何在Python中比较列表/集合的列表?

    比较两个列表 集合并输出差异的最简单方法是什么 是否有任何内置函数可以帮助我比较嵌套列表 集合 Inputs First list Test doc 1a1a1a 1111 Test2 doc 2b2b2b 2222 Test3 doc 3
  • 是否可以使用元组中传递的参数的所有可能的 K 组合(带重复)来调用方法?

    所需的行为可以如下所示 void foo int x int y std cout lt lt x lt lt lt lt y lt lt std endl int main all combinations lt 2 gt foo std
  • 在 Jython 中全面捕获异常

    到目前为止 这是我尝试捕获 Jython 代码中的所有异常 我发现 最困难的事情是当您重写 Java 类中的方法时捕获异常 使用下面的 vigil 装饰器 它还测试 EDT Event Despatch Thread 状态是否正确 您可以找
  • 对于某些正整数 n,m (int)pow(n,m) 会错误吗?

    Assuming n and m are positive integers and nm is within the range of an integer will int pow n m ever give a wrong answe
  • 用于下载、重命名和移动文件的 WinSCP 脚本

    Disclaimer 1 I posted this question on the WinSCP s forum but haven t received any replies and this issue is time sensit
  • 如何从 Firebird 中的非表中选择数据?

    我正在寻找 Firebird 的等效项 SELECT abc AS abc 123 AS def 20110101 AS dt 每当我这样做时 SELECT whatever as xxx 我收到一条错误消息 Firebird 与 Orac
  • 如何将没有标题的 Mediawiki 短 URL 重定向到主页?

    我已经为我的 mediawiki 实现了短 URL 并且 htaccess 中有这些可以使用 RewriteRule wiki DOCUMENT ROOT w index php L RewriteCond DOCUMENT ROOT RE
  • 如何根据主题标签更改活动链接的 CSS

    我这里有一个关于如何根据主题标签更改活动链接 css 的情况 所有内容都在同一页面中 我使用 url 部分来调用内容 我已经尝试了几个 javascript 示例和教程 但似乎它不起作用 所以我决定在这里创建一个新问题并与大家分享我的代码
  • 将点分隔的字符串解析为字典变量

    我的字符串值为 a a b b c d 如何将它们转换为Python字典变量 a a b b c d 字符串的第一部分 点之前 将成为字典名称 其余子字符串将成为字典键 我在解析不同部分中具有点分隔键的 ini 文件时遇到了同样的问题 例如
  • 无法在 Windows 7 上查询代理“自动检测设置”

    我正在尝试捕获代理设置 自动检测设置 我的代码适用于 XP 和 Vista 但它不适用于 Windows 7 请查看目标平台详情 Windows 7 企业版 IE 8 0 7600 16385 Wininet dll 8 0 7600 16