WinInet HttpSendRequest挂起SSL调用 [英] WinInet HttpSendRequest hangs on SSL calls

查看:169
本文介绍了WinInet HttpSendRequest挂起SSL调用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这种情况非常间歇地发生,可能每周一次. (该应用每天要发出数百个类似的请求.)

This happens very intermittently, maybe once a week. (The app is making hundreds of similar requests per day).

HttpSendRequest在获取https URL(GET请求)时挂起.挂起时-它永远不会返回.始终具有相同的调用堆栈.我们确实设置了INTERNET_OPTION_CONNECT_TIMEOUT,INTERNET_OPTION_RECEIVE_TIMEOUT和INTERNET_OPTION_SEND_TIMEOUT.

HttpSendRequest hangs on fetching an https URL (GET request). When it hangs - it never returns. Always with the same call stack. We do set INTERNET_OPTION_CONNECT_TIMEOUT, INTERNET_OPTION_RECEIVE_TIMEOUT and INTERNET_OPTION_SEND_TIMEOUT.

这是在Windows XP SP3上. IE版本8.0.6001.18702. WinInet.dll版本8.0.6001.18806.有任何想法吗?谢谢!

This is on Windows XP SP3. IE version 8.0.6001.18702. WinInet.dll version 8.0.6001.18806. Any ideas? Thank you! 

调用堆栈:

	ntdll.dll!_KiFastSystemCallRet@0() 	
 	ntdll.dll!_ZwWaitForSingleObject@12()  + 0xc bytes	
 	mswsock.dll!_SockWaitForSingleObject@16()  + 0x3c9 bytes	
 	mswsock.dll!_WSPRecv@36()  + 0x148f bytes	
 	ws2_32.dll!_recv@16()  + 0x6f bytes	
 	wininet.dll!ICSocket::Receive_Continue()  + 0x90 bytes	
 	wininet.dll!ICSocket::Receive_Start()  + 0x60 bytes	
 	wininet.dll!CFsm_SocketReceive::RunSM()  + 0x1c bytes	
 	wininet.dll!CFsm::Run()  + 0x26 bytes	
 	wininet.dll!DoFsm()  + 0x25 bytes	
 	wininet.dll!ICSocket::Receive()  + 0x3a bytes	
 	wininet.dll!ICSecureSocket::NegotiateLoop_Fsm()  + 0x1b1 bytes	
 	wininet.dll!CFsm_NegotiateLoop::RunSM()  + 0x29 bytes	
 	wininet.dll!CFsm::Run()  + 0x26 bytes	
 	wininet.dll!DoFsm()  + 0x25 bytes	
 	wininet.dll!ICSecureSocket::SSPINegotiateLoop()  + 0x37 bytes	
 	wininet.dll!ICSecureSocket::SecureNegotiate_Fsm()  - 0x11 bytes	
 	wininet.dll!CFsm_SecureNegotiate::RunSM()  + 0x29 bytes	
 	wininet.dll!CFsm::Run()  + 0x26 bytes	
 	wininet.dll!DoFsm()  + 0x25 bytes	
 	wininet.dll!ICSecureSocket::NegotiateSecConnection()  + 0x2b bytes	
 	wininet.dll!ICSecureSocket::SecureHandshake_Fsm()  + 0x13c4 bytes	
 	wininet.dll!CFsm_SecureHandshake::RunSM()  + 0x31 bytes	
 	wininet.dll!CFsm::Run()  + 0x26 bytes	
 	wininet.dll!DoFsm()  + 0x25 bytes	
 	wininet.dll!ICSecureSocket::SecureHandshakeWithServer()  + 0x2b bytes	
 	wininet.dll!ICSecureSocket::Connect_Fsm()  + 0x80 bytes	
 	wininet.dll!CFsm_SecureConnect::RunSM()  + 0x37 bytes	
 	wininet.dll!CFsm::Run()  + 0x26 bytes	
 	wininet.dll!DoFsm()  + 0x25 bytes	
 	wininet.dll!ICSecureSocket::Connect()  + 0x12ada bytes	
 	wininet.dll!HTTP_REQUEST_HANDLE_OBJECT::OpenConnection_Fsm()  + 0x11602 bytes	
 	wininet.dll!CFsm_OpenConnection::RunSM()  + 0x1c bytes	
 	wininet.dll!CFsm::Run()  + 0x26 bytes	
 	wininet.dll!DoFsm()  + 0x25 bytes	
 	wininet.dll!HTTP_REQUEST_HANDLE_OBJECT::OpenConnection()  + 0x2b bytes	
 	wininet.dll!HTTP_REQUEST_HANDLE_OBJECT::MakeConnection_Fsm()  + 0x7a bytes	
 	wininet.dll!CFsm_MakeConnection::RunSM()  + 0x1d bytes	
 	wininet.dll!CFsm::Run()  + 0x26 bytes	
 	wininet.dll!DoFsm()  + 0x25 bytes	
 	wininet.dll!HTTP_REQUEST_HANDLE_OBJECT::SendRequest_Fsm()  + 0xaf bytes	
 	wininet.dll!CFsm_SendRequest::RunSM()  + 0x1d bytes	
 	wininet.dll!CFsm::Run()  + 0x26 bytes	
 	wininet.dll!DoFsm()  + 0x25 bytes	
 	wininet.dll!HTTP_REQUEST_HANDLE_OBJECT::HttpSendRequest_Start()  + 0x19d bytes	
 	wininet.dll!CFsm_HttpSendRequest::RunSM()  + 0x31 bytes	
 	wininet.dll!CFsm::Run()  + 0x26 bytes	
 	wininet.dll!DoFsm()  + 0x25 bytes	
 	wininet.dll!HttpWrapSendRequest()  + 0x25d89 bytes	
 	wininet.dll!_HttpSendRequestA@20()  + 0x1d bytes	

推荐答案

向https://connect.microsoft.com/WNDP报告.
Report to https://connect.microsoft.com/WNDP.


这篇关于WinInet HttpSendRequest挂起SSL调用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆