1. 程式人生 > >c++以POST方式向網頁提交資料流

c++以POST方式向網頁提交資料流

#include  <iostream> 
#include  <string> 
#include <afxinet.h> //定義了MFC CInternetSession類等    
 bool PostHttpPage(const std::string& hostName, const    std::string& pathName, const std::string& postData)  
 {  
        using namespace std;    
       CInternetSession session("your app agent name"
); try { INTERNET_PORT nPort = 80; DWORD dwRet = 0; CHttpConnection* pServer = session.GetHttpConnection(hostName.c_str(), nPort); CHttpFile* pFile = pServer->OpenRequest(CHttpConnection::HTTP_VERB_POST, pathName.c_str()); // CString strHeaders = "Content-Type: application/x-www-form-urlencoded"; // 請求頭
CString strHeaders = "multipart/form-data" //通過post上傳資料流,如檔案等 //開始傳送請求 pFile->SendRequest(strHeaders,(LPVOID)postData.c_str(),postData.size()); pFile->QueryInfoStatusCode(dwRet); if (dwRet == HTTP_STATUS_OK) { CString result, newline; while
(pFile->ReadString(newline)) { //迴圈讀取每行內容 result += newline+"\r\n"; } std::cout<<result<<std::endl;//顯示返回內容 } else { return false; } delete pFile; delete pServer; } catch (CInternetException* pEx) { //catch errors from WinInet TCHAR pszError[200]; pEx->GetErrorMessage(pszError, 200); std::cout<<pszError<<std::endl;//顯示異常資訊 return false; } session.Close(); return true; } int main(void) { //向http://current.sinaapp.com/post.php傳送資料 PostHttpPage("current.sinaapp.com","post.php","name=rain&age=12"); }