Wion32 的 HttpSendRequest : ERROR_INTERNET_INCORRECT_HANDLE_STAT

Posted

技术标签:

【中文标题】Wion32 的 HttpSendRequest : ERROR_INTERNET_INCORRECT_HANDLE_STAT【英文标题】:Wion32's HttpSendRequest : ERROR_INTERNET_INCORRECT_HANDLE_STAT 【发布时间】:2010-04-24 14:14:04 【问题描述】:

我有 C++ Win32 应用程序,它使用 HttpSendRequest 请求一些 URL(通过 https)。它早些时候工作正常;但随后错误 ERROR_INTERNET_INCORRECT_HANDLE_STATE 开始发生。为什么是这些?有什么想法吗?

【问题讨论】:

【参考方案1】:

我最近偶然发现了一些非常相似的东西。这表明您的 HttpOpenRequest 失败或尚未完成,或者在 HttpSendRequest() 调用期间连接由于某种原因(SSL 握手问题、证书问题或只是简单的 TCP 连接问题)而终止。

我在使用异步 WinINET 进程开发应用程序时特别看到了这个问题,我对 HttpQueryInfo 和 InternetReadFile 的调用失败并返回代码。

在我的情况下,在调用其他方法之前,我没有正确等待接收来自 HttpSendRequest 的异步通知,而且在我没有正确处理连接期间的故障的情况下。

我知道它晚了一年,但希望这会有所帮助。

【讨论】:

【参考方案2】:

这似乎微不足道,但是, 您在制作 HttpOpenRequest 时是否有标志 INTERNET_FLAG_SECURE? 如中所述: http://support.microsoft.com/kb/168151

因为我自己被困在这里几个小时,直到我找到上面的知识库条目。

【讨论】:

【参考方案3】:

我在 Windows XP 上为 HTTP2 服务器端点的 HTTPS 连接(所有标志都正确)遇到了同样的错误,我想知道它是否无法正确处理 HTTP2 连接或证书。

【讨论】:

以上是关于Wion32 的 HttpSendRequest : ERROR_INTERNET_INCORRECT_HANDLE_STAT的主要内容,如果未能解决你的问题,请参考以下文章

HttpSendRequest 未正确发布

HttpAddRequestHeaders 添加的 headers 和 HttpSendRequest 发送的 headers 有啥区别

HttpSendRequest 失败并出现错误 12152,但 InternetOpenUrl 没有

WinINet:如何防止 HttpSendRequest 跟随重定向(30x 状态代码)?

当两个以上的下载已经在进行时 HttpSendRequest 阻塞

启用脱机工作时,HttpSendRequest 返回失败/错误代码 2