我有C ++ Win32应用程序,它使用HttpSendRequest来请求一些URL(通过https)。它早先工作正常;但随后错误ERROR_INTERNET_INCORRECT_HANDLE_STATE开始发生。为什么这些?有什么想法吗?
答案 0 :(得分:0)
我偶然发现了一些非常相似的东西。它表明您的HttpOpenRequest已失败或尚未完成,或者在HttpSendRequest()调用期间,连接因某种原因(SSL握手问题,证书问题或仅仅是简单的TCP连接问题)而死亡。 / p>
我在使用异步WinINET进程开发应用程序时特别注意到了这个问题,而且我对HttpQueryInfo和InternetReadFile的调用失败并带有返回代码。
在我的情况下,我没有正确地等待在调用其他方法之前接收来自HttpSendRequest的异步通知,以及在我没有正确处理连接期间的故障的情况下。
我知道它迟了一年,但希望这有帮助。
答案 1 :(得分:0)
这似乎微不足道但是, 在制作HttpOpenRequest时你有标志INTERNET_FLAG_SECURE吗? 如下所述: http://support.microsoft.com/kb/168151
因为我自己被困在这里几个小时,直到我找到了上述知识库。
答案 2 :(得分:0)
我在Windows XP上遇到HTTP2服务器端点的HTTPS连接错误(所有标记都正确),我想知道它是否无法正确处理HTTP2连接或证书。