问题标签 [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 投票
2 回答
1558 浏览

offline - Wininet 的 INTERNET_OPTION_IGNORE_OFFLINE 不起作用?

我试图让 Wininet 忽略 Internet Explorer 的“脱机工作”模式,用于 HTTP 和 FTP。

所以我正在尝试使用InternetSetOption()with INTERNET_OPTION_IGNORE_OFFLINE。文档说“这由请求句柄使用InternetQueryOptionInternetSetOption与请求句柄一起使用。” 但是,您无法获得请求句柄,因为如果 IE 处于脱机工作模式,那么InternetConnect()将始终返回空句柄。如果没有连接句柄,您将无法获得请求句柄。所以我尝试将它与InternetOpen()手柄和NULL手柄一起使用。两者都失败了ERROR_INTERNET_INCORRECT_HANDLE_TYPE

有没有办法让这个选项起作用?我在 2003 年的一个 MS 新闻组上找到了一个INTERNET_OPEN_TYPE_PRECONFIG“损坏”的参考资料。5年后使用IE8 beta 2,他们仍然没有修复它?还是我做错了。

编辑
我不太正确。 InternetConnect()如果您处于“脱机工作”模式并使用 FTP,则始终返回 null,但如果您使用 Http,它将返回有效句柄。但是,即使使用请求句柄,它仍然不起作用。

如果我设置为“脱机工作”并且我打电话

在手柄上

InternetSetOption()通话成功。
但是,调用HttpSendRequest()仍然失败,错误代码为 2(找不到文件),与我未设置选项时相同。
如果我打电话也是一样

0 投票
2 回答
2179 浏览

c# - 通过在 C# 中实时编辑注册表来启用代理

这是我用来启用代理的代码。在 Server 2008 R2(Windows 7 内核)之前,它在所有版本的 Windows 上都可以正常工作。现在它只在第一次起作用。我启动我的应用程序并启用代理,并且工作正常。然后我尝试使用类似于以下代码的代码禁用它。它永远不会被禁用。如果我通过进入 Internet 选项手动禁用它,然后尝试通过我的应用程序再次启用它,它不会被启用。

据我所知,我的代码中的第一个 InternetSetOption 命令正在恢复我使用 regKey.SetValue() 函数所做的更改。至少当我逐步完成它时,这似乎是正在发生的事情。有没有人以前见过这个问题,或者知道如何解决它。我一直在努力寻找解决方法一段时间,但没有任何结果。任何输入将不胜感激。

0 投票
1 回答
2745 浏览

c# - 带有 INTERNET_OPTION_SUPPRESS_BEHAVIOR 选项的 WinInet InternetSetOption 无法按预期工作

大家好,感谢您花时间阅读本文。我有 ac# 应用程序,我希望在其中覆盖默认的 WinInet cookie 设置。目标是即使系统 WinInet cookie 隐私设置设置为 Block All,在我的进程中,cookie 仍将被接受调用。阅读文档,它看起来很简单。这是我所拥有的清理后的版本:

其中 WinInet.InternetSetOption 定义为:

常数是:

InternetSetOption 调用成功 - 没有错误。

我还尝试将 InternetOpen 返回的全局 Internet 句柄作为 InternetSetOption 调用的第一个参数传递,这没有区别。Cookie 继续在我的进程中被阻止。

我需要这样做的原因是我有一个嵌入式 Flash Player ActiveX 实例,它发出 Web 请求。我已成功使用其他 InternetSetOption 调用来修改 Flash 在我的进程中使用的代理设置。我正在 Windows 7 上对此进行测试。

0 投票
1 回答
2470 浏览

c# - C# wininet InternetSetOption

我正在使用如何清除 System.Windows.Forms.WebBrowser 会话数据?只要只有一个浏览器,它就可以工作。是否可以在同一个应用程序中为 2 个 Web 浏览器控件提供自己的会话?

如果是这样,我是否只需要改变

?

还是需要别的什么?

0 投票
0 回答
691 浏览

c++ - InternetSetOption 更改连接限制

如何通过在空句柄上调用 InternetSetOption 函数以编程方式更改连接限制?IE,

如何使用

0 投票
1 回答
11109 浏览

c# - 如何使用 InternetSetOption?

这个问题:

将代理与 Web 浏览器控制一起使用

告诉我使用“InternetSetOption”。我该如何使用它?我如何在代码中实现它(例如?)?

谢谢!

0 投票
1 回答
901 浏览

webbrowser-control - 无法从 WinForms 应用程序设置 WinInet 代理

我正在运行 Windows 7 和 IE9。我正在编写一个在另一个线程上运行代理服务器(使用 TcpListener)的 winforms 应用程序(.net 4.0 和 c#)。

在我实例化主窗体之前,我使用 InternetSetOption 设置代理并启动代理服务器。

我的代理设置代码与此处的代码非常相似:Set Proxy UserName and Password using Wininet in C#

然后我浏览到 IE 中的一个站点,IE 没有连接到我的代理服务器。此外,IE 工具--> 互联网选项--> 连接--> 局域网设置--> 为您的局域网使用代理服务器复选框未被选中。但是当我运行提琴手时,这个复选框被选中。这意味着提琴手正在正确设置代理,但我没有。提琴手是怎么做到的?我已经浏览了无数博客,InternetSetOption 上的 MSDN 文章都是徒劳的。任何帮助表示赞赏。

我的代理服务器代码与此处的代码非常相似:Simple Http proxy using Sockets: Questions

我知道我的代理服务器可以工作,因为当我转到 IE 工具 --> 互联网选项 --> 连接 --> 局域网设置并将代理服务器明确设置为 127.0.0.1:9898 (我运行代理服务器的地方)时, IE 和所有其他浏览器都连接到我的服务器。

0 投票
1 回答
1125 浏览

c# - 如何在 c# 中使用 InternetSetOption 设置 INTERNET_OPTION_MAX_CONNS_PER_SERVER 选项?

我是 .NET、c# 和 windows 编程的新手。我想增加 .NET Web 浏览器控件可以为每个服务器创建的最大连接数。我发现通过使用 wininet.dll 中的 InternetSetOption 函数更改 INTERNET_OPTION_MAX_CONNS_PER_SERVER 选项,我可以做到这一点。

我已经完成了以下导入。

msdn文档中,IntPtr lpBuffer 应该是一个无符号长整数。谁能告诉我如何为 unsigned long int 变量创建 IntPtr。

在 c# 中调用 InternetSetOption 以将最大连接数设置为 50 会有所帮助。

PS:我无法使用 regedit.exe 更改注册表设置来增加连接数

0 投票
1 回答
1826 浏览

networking - InternetSetOption 删除我的注册表值 - AutoConfigURL

我正在使用 c# 设置代理 pac 文件,我知道我需要在 HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections\DefaultConnectionSettings

并且在 HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections\AutoConfigUrl

然后打电话

InternetSetOption(IntPtr.Zero, INTERNET_OPTION_SETTINGS_CHANGED, IntPtr.Zero, 0); InternetSetOption(IntPtr.Zero, INTERNET_OPTION_REFRESH, IntPtr.Zero, 0);

我的问题是,在我调用后,InternetSetOption我看到AutoConfigUrl已删除,并且 pac 文件未设置。

有谁知道为什么会被删?我该怎么做才能正确设置它?

编辑:刚刚发现这只发生在带有 IE8 的电脑上......仍然不知道为什么,或者如何解决它

谢谢你,罗恩

0 投票
0 回答
439 浏览

c# - 使用 InternetSetOption() 设置 32 位和 64 位浏览器代理设置

我正在使用此处提供的类通过 wininet.dll 中的 InternetSetOption() 以编程方式设置 Internet Explorer 代理设置。

但是,如果我的项目设置为针对 x86 平台,它只会更改 32 位版本 IE 的代理设置,如果我将其设置为“任何 CPU”,它只会更改 64 位版本的设置的IE。

我如何使用这个类(或者实际上是 InternetSetOption)来定位 Internet Explorer 的两个版本。这一定是可能的,因为 FiddlerCore 可以轻松地做同样的事情。