问题标签 [winhttp]

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 回答
3016 浏览

c# - 短语“HTTP.SYS 中的 URL 保留”是什么意思?

无法理解这句话的意思。论坛上的人互相建议在HTTP.sys中保留url,但这是什么意思?它是干什么用的?它是如何工作的?这一切都来自 HttpWebRequest 的 uac 问题。

0 投票
1 回答
881 浏览

c++ - 无法发送代理凭据 (407)

我正在尝试编写与需要密码和用户名身份验证(ip:port:username:pw)的代理连接的代码 C++ 程序,我得到了 http 工作,但是当我使用 https 时,我总是收到 407 错误。

如何以正确的方式在 https 上发送代理凭据?(C++)

0 投票
1 回答
2588 浏览

winapi - 从需要身份验证的 PAC 代理获取代理

我正在尝试使用WinHttpGetProxyForUrl指定的 PAC 文件WINHTTP_AUTOPROXY_OPTIONS.lpszAutoConfigUrl需要 HTTP 基本身份验证才能访问的地方。

是否有某种方法可以弹出常规身份验证对话框或提供用于代理的用户名和密码?

0 投票
2 回答
4472 浏览

c++ - WinHttp 在异步模式下使用 - ERROR_INTERNET_CANNOT_CONNECT 如何干净地关闭连接

我在请求的回调过程中得到了很多 ERROR_INTERNET_CANNOT_CONNECT (12029 代码)。我在异步模式下(在服务器上)使用 WinHttp。在这种情况下,您如何干净地关闭连接。你只是使用这样的东西(就像你通常关闭连接一样?):

我问这个是因为我有一些奇怪的与 winhttp dll 相关的内存泄漏,发生在所描述的情况下(想要创建数百个可能被公司内部防火墙阻止的并发连接或目标服务器丢弃连接)。我已经在 msdn 上查看了 WinHttpCloseHandle 的文档...

以下是我如何处理回调状态:

这里的缓冲区是一个向量,一旦发起请求,就保留了 8K。提前致谢。

在 OnResponseComplete, OnResponsEerror 我最终也调用:

0 投票
0 回答
767 浏览

c++ - WinHttp - 指定一次处理的最大请求数的选项

我用

为了限制我在某个时候可以向给定服务器发出的未完成请求的总数。我想要完成的是限制我的应用程序中的组件发出过多请求的可能性(它们是向同一台服务器发出的),否则我会遇到 winhttp 的内存问题(内存在 winhttp.dll 中建立)

有没有办法使用 API 来实现这一点?否则我将不得不自己实施。我观察到的关于 WINHTTP_OPTION_MAX_CONNS_PER_SERVER 的情况是,确实可以实现该数量的并发请求/服务器,但这并没有阻止客户端代码成功发出请求(并在 winhttp 中构建该请求以供以后发送)

0 投票
0 回答
4016 浏览

c++ - WinHTTP 发送请求返回错误 12007(无法解析服务器名称)

我有几个用户在尝试激活我的一个程序时遇到错误,并且返回的错误代码的描述是“无法解析服务器名称”。我让 WinHTTP 尝试自动检测代理设置,但未检测到任何设置。它能够建立会话,但 WinHttpSendRequest 失败。我正在等待用户提供有关他们连接的更多信息,但我想我会在这里发布,看看是否有人能发现我的代码有什么问题。我很难找到有关 WinHTTP 代码的有用文档或示例,所以如果有人能推荐比 MSDN 更好的来源,我将永远感激不尽。

这是我初始化请求的代码:

0 投票
2 回答
5979 浏览

windows - WinInet vs WinHttp(服务或类似服务的进程)

我无法理解“服务或类似服务的过程”这两个概念之间的区别。

在 msdn WinHTTP vs. WinINet页面上说:

在两者之间进行选择时,您应该使用 WinINet,除非您计划在需要模拟和会话隔离的服务或类似服务的进程中运行。

WinInet 函数的 msdn 注释中说:

注意 WinINet 不支持服务器实现。此外,不应从服务中使用它。对于服务器实现或服务,请使用 Microsoft Windows HTTP 服务 (WinHTTP)。

“需要模拟和会话隔离的服务或类似服务的过程”是什么意思?
“WinINet 不支持服务器实现”是指在 Windows Server 上运行?
如果我的应用程序使用 IIS 运行,我是否必须使用 WinHTTP 而不是 WinInet?

0 投票
1 回答
11600 浏览

winapi - 如何使用 IWinHttpRequest 忽略无效证书?

我正在使用 Microsoft 的WinHttpRequestCOM 对象请求带有无效证书的网页:

除了调用Send引发异常:

我怎么知道WinHttpRequest我不在乎,我希望它检索我要求的页面?

0 投票
1 回答
2309 浏览

c++ - WinHttpOpen 内存泄漏

我一直在尝试调试程序中的内存泄漏,并将其范围缩小到 WinHttp 通信。我已经能够在以下测试代码中重现该问题:

运行几秒钟后,程序已经使用了超过 20MB 的内存。为什么要这样做?API声明您需要在不再需要句柄后调用 WinHttpCloseHandle - 我正在这样做。

我在 Arch Linux 上使用 mingw32 进行编译,并在 Windows 7 上运行代码。

0 投票
1 回答
227 浏览

asp-classic - WINHTTP_ACCESS_TYPE_NO_PROXY 值的 ASP 表示法是什么?

我整个早上都在网上搜索。

我只想知道它的价值以及如何在 asp classic 中表示它。

我认为它是十进制表示法中的 1。