我对遇到的以下问题感到困惑。我们使用安装了IE 8.0的Windows 2008 R2机器。接下来,我尝试通过InternetConnect调用以编程方式连接到服务器(身份验证凭据作为传递给它的参数提供)。它成功了。接下来我调用HttpOpenRequest和HttpSendRequest。对HttpOpenRequest和HttpSendRequest的调用是使用返回的相同连接句柄InternetConnect调用执行的。在某个特定时间点HttpSendRequest开始失败。从流量捕获中,我看到缺少身份验证信息,它使服务器轮流返回401结果。使用提供的INTERNET_OPTION_USERNAME和INTERNET_OPTION_PASSWORD调用InternetSetOption不会产生任何效果。HttpSendRequest失败后,我调用GetLastError并首先接收ERROR_HTTP_INVALID_SERVER_RESPONSE和第二个ERROR_INTERNET_INCORRECT_HANDLE_STATE如果我尝试使用HttpSendRequest重新发送我的请求。
也许你们中的一些人遇到过类似的问题?