- 注册时间
- 2011-3-6
- 最后登录
- 1970-1-1
该用户从未签到
|
CString CServerSession::httpGetRequest(CString url)
{
CInternetSession m_InetSession;
CString strHtml;
try{
CHttpFile* pFile =(CHttpFile*)m_InetSession.OpenURL(url);
if (pFile!=NULL)
{
DWORD statusCode;
pFile->QueryInfoStatusCode(statusCode);
if (statusCode==HTTP_STATUS_OK)
{
CString strLine;
while (pFile->ReadString(strLine)>0)
strHtml += strLine;
}
}
m_InetSession.Close();
pFile->Close();
delete pFile;
}
catch (CInternetException* e){
TCHAR info[1024] = {0};
e->GetErrorMessage(info,1024);
AfxMessageBox(info);
}
catch (CMemoryException* e)
{
TCHAR info[1024] = {0};
e->GetErrorMessage(info,1024);
AfxMessageBox(info);
}
catch (CFileException* e)
{
TCHAR info[1024] = {0};
e->GetErrorMessage(info,1024);
AfxMessageBox(info);
}
catch (CException* e)
{
TCHAR info[1024] = {0};
e->GetErrorMessage(info,1024);
AfxMessageBox(info);
}
return strHtml;
}
CString CServerSession::httpPostRequest(CString requestData,CString pageUrl)
{
CInternetSession m_InetSession; //设置不缓冲
CHttpConnection* pServer = NULL;
CHttpFile* pFile = NULL;
CString strHtml;
//POST过去的数据requestData
try{
INTERNET_PORT nPort; //端口
nPort=80;
pServer = m_InetSession.GetHttpConnection("127.0.0.1", nPort);
pFile = pServer->OpenRequest(CHttpConnection::HTTP_VERB_POST,pageUrl);
pFile->AddRequestHeaders("Content-Type: application/x-www-form-urlencoded");
pFile->AddRequestHeaders("Accept: */*");
pFile->SendRequestEx(requestData.GetLength());
pFile->WriteString(requestData);
pFile->EndRequest();
DWORD dwRet;
pFile->QueryInfoStatusCode(dwRet);
if (dwRet == HTTP_STATUS_OK){
CString strLine;
while (pFile->ReadString(strLine)>0)
strHtml += strLine;
}
m_InetSession.Close();
pFile->Close();
pServer->Close();
delete pFile;
delete pServer;
}
catch (CInternetException* e){
TCHAR info[1024] = {0};
e->GetErrorMessage(info,1024);
AfxMessageBox(info);
}
catch (CMemoryException* e)
{
TCHAR info[1024] = {0};
e->GetErrorMessage(info,1024);
AfxMessageBox(info);
}
catch (CFileException* e)
{
TCHAR info[1024] = {0};
e->GetErrorMessage(info,1024);
AfxMessageBox(info);
}
catch (CException* e)
{
TCHAR info[1024] = {0};
e->GetErrorMessage(info,1024);
AfxMessageBox(info);
}
return strHtml;
}
以上是字节字符集的
下面是UNICODE工程的
CString CServerSession::httpGetRequest(CString url)
{
CInternetSession m_InetSession;
CString strHtml;
try{
CHttpFile* pFile =(CHttpFile*)m_InetSession.OpenURL(url);
if (pFile!=NULL)
{
DWORD statusCode;
pFile->QueryInfoStatusCode(statusCode);
if (statusCode==HTTP_STATUS_OK)
{
TCHAR buf[1024]= {0};
char tmp[2048] = {0};
while(pFile->ReadString(buf, 1024))
{
for(int i=0, j=0; i<lstrlen(buf); i++, j+=2)
{
tmp[j] = LOBYTE(buf[i]);//取字的低字节
tmp[j+1] = HIBYTE(buf[i]);//取字的高字节
}
CString ss(tmp);
strHtml+=ss;
}
}
}
m_InetSession.Close();
pFile->Close();
delete pFile;
}
catch (CInternetException* e){
TCHAR info[1024] = {0};
e->GetErrorMessage(info,1024);
}
catch (CMemoryException* e)
{
TCHAR info[1024] = {0};
e->GetErrorMessage(info,1024);
}
catch (CFileException* e)
{
TCHAR info[1024] = {0};
e->GetErrorMessage(info,1024);
}
catch (CException* e)
{
TCHAR info[1024] = {0};
e->GetErrorMessage(info,1024);
}
return strHtml;
}
CString CServerSession::httpPostRequest(char* requestData,CString pageUrl)
{
CInternetSession m_InetSession; //设置不缓冲
CHttpConnection* pServer = NULL;
CHttpFile* pFile = NULL;
CString strHtml;
//POST过去的数据requestData
try{
INTERNET_PORT nPort; //端口
nPort=80;
pServer = m_InetSession.GetHttpConnection(SERVER_URL, nPort);
pFile = pServer->OpenRequest(CHttpConnection::HTTP_VERB_POST,pageUrl);
pFile -> AddRequestHeaders(_T("Content-Type: application/x-www-form-urlencoded"));
pFile -> AddRequestHeaders(_T("Accept: */*"));
pFile->SendRequest(NULL,NULL,requestData,(DWORD)strlen(requestData));
DWORD dwRet;
pFile->QueryInfoStatusCode(dwRet);
if (dwRet == HTTP_STATUS_OK){
TCHAR buf[1024]= {0};
char tmp[2048] = {0};
while(pFile->ReadString(buf, 1024))
{
for(int i=0, j=0; i<lstrlen(buf); i++, j+=2)
{
tmp[j] = LOBYTE(buf[i]);//取字的低字节
tmp[j+1] = HIBYTE(buf[i]);//取字的高字节
}
strHtml+=UTF8ToUnicode(tmp);
}
}
m_InetSession.Close();
pFile->Close();
pServer->Close();
delete pFile;
delete pServer;
}
catch (CInternetException* e){
TCHAR info[1024] = {0};
e->GetErrorMessage(info,1024);
}
catch (CMemoryException* e)
{
TCHAR info[1024] = {0};
e->GetErrorMessage(info,1024);
}
catch (CFileException* e)
{
TCHAR info[1024] = {0};
e->GetErrorMessage(info,1024);
}
catch (CException* e)
{
TCHAR info[1024] = {0};
e->GetErrorMessage(info,1024);
}
return strHtml;
} |
|