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的主要内容,如果未能解决你的问题,请参考以下文章
HttpAddRequestHeaders 添加的 headers 和 HttpSendRequest 发送的 headers 有啥区别
HttpSendRequest 失败并出现错误 12152,但 InternetOpenUrl 没有
WinINet:如何防止 HttpSendRequest 跟随重定向(30x 状态代码)?