- 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;
- }