bool bRet = AfxParseURL(ServerURL, dwServiceType, strServer, strObject, nPort);
返回值 为true,
m_pConnet= m_Session.GetHttpConnection(strServer, nPort); 也是正常的
CHttpFile* pFile = m_pConnet->OpenRequest(CHttpConnection::HTTP_VERB_POST, strObject); 返回值为空.
经过测试服务器是没有问题的,其他的工程测试是OK 的,但是为什么我的返回值为空?
代码如下:
AfxParseURL(ServerURL, dwServiceType, strServer, strObject, nPort);
TRACE(ServerURL);
if(m_pConnet)
{
m_pConnet->Close();
delete m_pConnet;
}
/*为Internet会话设置选项*/
m_Session.SetOption(INTERNET_OPTION_CONNECT_TIMEOUT, 600000);
m_pConnet = m_Session.GetHttpConnection(strServer, nPort);
bsObject = strObject.GetBuffer(strObject.GetLength());
CHttpFile* pFile = m_pConnet->OpenRequest(CHttpConnection::HTTP_VERB_POST, strObject);
求大神指点!!急急急!!!所有的豆子都给了!
关于这个问题,困扰了我好多天。最后解决办法是:重启服务器,多试了几次无缘无故的联通了,相当无语。系统API肯定是没有错的。问题还是出在通信方面。GetLastError 返回值也是OK的,所以这个问题到此结束。
http://stackoverflow.com/questions/346024/if-chttpconnectionopenrequest-returns-null-how-do-i-find-out-why
不知这个是否有帮助
FYI
GetLastError(), 看看返回错误,或许对你有帮助