使用WinInet api异步完成http过程。 在创建连接(m_hHttpConnection)后,调用OpenHttpRequest(),
m_hHttpRequest = ::HttpOpenRequest(
m_hHttpConnect, // hConnect
m_pDownloadTask->strVerb, // lpszVerb
strObjName, // lpszObjectName
_T("HTTP/1.1"), // lpszVersion
NULL, // lpszReferer
ppstrAcceptTypes, // lplpszAcceptTypes
INTERNET_FLAG_RELOAD|INTERNET_FLAG_PRAGMA_NOCACHE|
INTERNET_FLAG_NO_CACHE_WRITE|INTERNET_FLAG_NO_AUTO_REDIRECT,// dwFlags
reinterpret_cast<DWORD_PTR>(this)); // dwContext
如果在使用m_hHttpRequest读取文件的过程中(或创建成功后的其他过程中)出错,直接关闭m_hHttpRequest,而不关闭连接,重新创建m_hHttpRequest,能立即创建成功,但使用m_hHttpRequest读文件时,会出现错误(比如,获取status code得到0。是否其他异常由此导致还不确定)。