MFC HTTP POST转载,参考一下

    技术2025-01-16  12

    转载,参考一下

    2002年的东西。

    看我的代码(我宝贵的代码啊~不把分全都给我,我就跟你没完!) void   CInternet::Post(CString&   csResponse,//反馈,这个就是你要的   const   char   *szServer,//服务器   INTERNET_PORT&   nPort,//端口   const   char*   szObject,//URI   const   char   *szData,   //正文内容   DWORD&   dwHttpStatus,//状态码   BOOL   bAutoRedirect)//是否自动转向 { CInternetSession*   pSession   =   NULL; CHttpConnection*   pConnection   =   NULL; CHttpFile*   pHttpFile   =   NULL; try   { pSession   =   new   CInternetSession( NULL, 1, INTERNET_OPEN_TYPE_PRECONFIG); pConnection   =   pSession-> GetHttpConnection(szServer, nPort, NULL, NULL); DWORD   dwFlag=   INTERNET_FLAG_EXISTING_CONNECT |   INTERNET_FLAG_RELOAD |   INTERNET_FLAG_DONT_CACHE; if(!bAutoRedirect) { dwFlag   =   dwFlag|   INTERNET_FLAG_NO_AUTO_REDIRECT; } pHttpFile   =   pConnection-> OpenRequest( CHttpConnection::HTTP_VERB_POST, szObject, szServer, 1, NULL, NULL, dwFlag); pHttpFile-> AddRequestHeaders( "Content-Type:   application/x-www-form-urlencoded ",HTTP_ADDREQ_FLAG_ADD_IF_NEW,-1L); pHttpFile-> SendRequest(NULL,0,       (void   *)szData,       strlen(szData)); if   (pHttpFile)   { if   (pHttpFile-> QueryInfoStatusCode(dwHttpStatus)!=0) {// dwHttpStatus   =   200; if   (dwHttpStatus   <   400) { int   nRead   =   0; LPSTR   pBuffer   =   new   char[1024]; do   { nRead   =   pHttpFile-> Read(pBuffer,   1023); if   (nRead   !=   0)   { pBuffer[nRead]   =   0; csResponse   +=   pBuffer; }   }   while   (nRead   !=   0); if(pBuffer) { delete   pBuffer; pBuffer   =   NULL; } }   } }   }   catch   (CInternetException*   e)   { e-> Delete(); }   catch   (...)   { }   if   (pHttpFile   !=   NULL)   { pHttpFile-> Close(); delete   pHttpFile;   }   if   (pConnection   !=   NULL)   { pConnection-> Close(); delete   pConnection;   }   if   (pSession   !=   NULL)   { pSession-> Close(); delete   pSession;   }   }

     

     

    例子: CInternet   internet; CString   csResponse; unsigned   short   nPort   =   80; DWORD   dwRes   =   0; internet.Post(csResponse, "www.csdn.net ",nPort, "member/login.asp ", "name=111222&pass=rrrrr ",dwRes,TRUE); AfxMessageBox(csResponse);

     

     

     

     

     

    最新回复(0)