导读:
CString CVisitView::POSTSUBMIT(CString request, CString server, CString dir)
{
CInternetSession m_InetSession("session");
CHttpConnection* pServer = NULL;
CHttpFile* pFile = NULL;
try{
INTERNET_PORT nPort;
nPort=80;
pServer = m_InetSession.GetHttpConnection(server, nPort);
pFile = pServer->OpenRequest(CHttpConnection::HTTP_VERB_POST,dir);
char szHeaders[100];
strcpy(szHeaders,"Accept: text*/*/r/nContent-Type: application/x-www-form-urlencoded");
pFile->AddRequestHeaders(szHeaders);
pFile->SendRequestEx(request.GetLength());
pFile->WriteString(request); //重要-->m_Request 中有"name=aaa&name2=BBB&..."
pFile->EndRequest();
DWORD dwRet;
pFile->QueryInfoStatusCode(dwRet);
CString str;
CMutex m_Mutex;
m_Mutex.Lock();
CString m_strHtml="";
char szBuff[1024];
if (dwRet == HTTP_STATUS_OK){
UINT nRead;
while ((nRead = pFile->Read(szBuff,1023))>0)
{
m_strHtml+=CString(szBuff,nRead);
}
}
m_Mutex.Unlock();
delete pFile;
delete pServer;
return m_strHtml;
}
catch (CInternetException* e){
CString s;
s.Format("Internet Exception/r/nm_dwError%u,m_dwContextError%u",e->m_dwError,e->m_dwContext);
AfxMessageBox(s);
//catch errors from WinInet
}
}
本文转自
http://www.hgyc.com/blog/article.php?id=425
CString CVisitView::POSTSUBMIT(CString request, CString server, CString dir)
{
CInternetSession m_InetSession("session");
CHttpConnection* pServer = NULL;
CHttpFile* pFile = NULL;
try{
INTERNET_PORT nPort;
nPort=80;
pServer = m_InetSession.GetHttpConnection(server, nPort);
pFile = pServer->OpenRequest(CHttpConnection::HTTP_VERB_POST,dir);
char szHeaders[100];
strcpy(szHeaders,"Accept: text*/*/r/nContent-Type: application/x-www-form-urlencoded");
pFile->AddRequestHeaders(szHeaders);
pFile->SendRequestEx(request.GetLength());
pFile->WriteString(request); //重要-->m_Request 中有"name=aaa&name2=BBB&..."
pFile->EndRequest();
DWORD dwRet;
pFile->QueryInfoStatusCode(dwRet);
CString str;
CMutex m_Mutex;
m_Mutex.Lock();
CString m_strHtml="";
char szBuff[1024];
if (dwRet == HTTP_STATUS_OK){
UINT nRead;
while ((nRead = pFile->Read(szBuff,1023))>0)
{
m_strHtml+=CString(szBuff,nRead);
}
}
m_Mutex.Unlock();
delete pFile;
delete pServer;
return m_strHtml;
}
catch (CInternetException* e){
CString s;
s.Format("Internet Exception/r/nm_dwError%u,m_dwContextError%u",e->m_dwError,e->m_dwContext);
AfxMessageBox(s);
//catch errors from WinInet
}
}
本文转自
http://www.hgyc.com/blog/article.php?id=425