问题标签 [internetsetoption]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1330 浏览

python - 使用 Python 在 Windows 中设置代理设置(使用 InternetSetOption)

我编写了一个小脚本,需要能够使用 Python 启用和禁用代理设置。现在我编辑注册表来实现这一点,但它似乎不适用于所有版本的 Windows,所以我更愿意使用 InternetSetOption。关于 API 的信息真的很稀少,大多数例子都是用 C 语言的,我不知道: https: //support.microsoft.com/en-us/kb/226473

它可能看起来有点像这样(这个片段实际上是用于刷新浏览器代理设置):

0 投票
1 回答
3672 浏览

vba - 为 ServerXMLHTTP.SetOption 识别正确的客户端证书

我在 Windows 7 中安装了三个客户端证书,需要使用一个特定的证书来验证使用 VBA 的 ServerXMLHTTP60 调用。

使用证书的友好名称调用 ServerXMLHTTP60.SetOption 不会出错。但是随后的 .send 失败并显示“需要证书才能完成客户端身份验证”。

代码示例:

指定的证书可以通过 IE 或 Firefox 与此站点正常工作。我必须为证书使用不正确的路径名。有没有办法确定正确的客户端证书路径名以确保成功?

0 投票
1 回答
295 浏览

c# - 作为 LocalSystem 运行的 .NET c# 服务会更改注册表中的 ProxyServer,但浏览器在(重新)启动之前不会注意到

我有一个 .NET c# 服务在 Windows10 64 位上作为 LocalSystem 运行。它的工作是更改位于下的“ProxyEnable”和“ProxyServer”值

在注册表中。它对系统的所有“人类”用户(即以“S-1-5-21..”开头的密钥)执行此操作。它工作正常,用户启动的所有浏览器都使用此配置(代理或无代理)。

但是,仍在运行的浏览器直到很长时间才会注意到更改(打开或关闭代理设置) - 或者直到我手动打开和关闭 Windows“Internet 选项 > 代理设置”(不进行更改或保存它们) 或重新启动浏览器。后两者使系统重新读取并将设置传播到所有(其他)打开的浏览器。

现在 DllImport'ing wininet.dll 并使用 InternetSetOption 确实有效

但只有当我以登录用户身份执行这段代码时。当服务执行它时,它什么也不做。我想这是因为作为 LocalSystem 服务将其应用于错误的范围。

我已经修补了很多。尝试以用户身份启动另一个进程是没有选择的,因为这需要凭据。还设置了使用 LocalSystem 的服务。

我只是相信,作为在权限方面接近管理员的 LocalSystem,必须有一种方法可以告诉所有应用程序和浏览器代理设置已更改。它只是像打开和关闭代理设置-GUI 调用这样的传播,我需要以某种方式触发。但我不知道怎么做。你?

0 投票
0 回答
1062 浏览

delphi - Delphi 10.3 中的 HTTPReqResp OnBeforePost 更改

我有一个以前使用过该Data参数的事件代码,但在 Delphi 10.3 中这个参数被替换了。

在德尔福 10.3 之前:

在这段代码中,我使用InternetSetOption()了,我现在应该如何在 Delphi 10.3 中继续?如何获取Data参数?

BeforePost 事件中的所有代码。这段代码在delphi 10.3中不起作用,因为参数“Data”。这个问题让我发疯,如果有人帮助我感激。

0 投票
1 回答
369 浏览

delphi - 德尔福。WinInet + 思科 + NTLM。12045 和 12057 错误

我通过 Cisco 连接到公司网络,然后通过域 NTLM 授权到公司 https 站点。

所以我通过代理(在 IE 中使用密码登录一次就足够了)并且程序转到除公司站点之外的所有站点,它失败并出现错误 12045 (ERROR_INTERNET_INVALID_CA) 或 12057。

如何从商店获得证书?自然,无需使用带有密码和证书名称的用户名。请帮忙,谁知道呢。我也通过http尝试过。

这是功能:

添加

我使用以下密钥解决了证书问题:

但现在我收到 401 身份验证错误。

程序日志:

IE 日志(不完整但最后响应代码为 200):

应用程序不发送带有基本身份验证的标头...如何解决?