C++ POST方式访问网页

bool PostContent(CString strUrl, const CString &strPara, CString &strContent, CString &strDescript)//第一个参数为URL头

{ //第二个参数为要post表单的内容

try{ //第三个参数用于保存页面返回的信息

//第四个参数用于记录日志

strDescript = "提交成功完成!";

bool bRet = false;

CString strServer, strObject, strHeader, strRet;

unsigned short nPort;

DWORD dwServiceType;

if(!AfxParseURL www.90168.org (strUrl, dwServiceType, strServer, strObject, nPort))

{

strDescript = strUrl + "不是有效有网络地址!";

return false;

}

CInternetSession sess;//Create session

CHttpFile pFile;

//////////////////////////////////////////////

CHttpConnection
pServer = sess.GetHttpConnection(strServer, nPort);

if(pServer == NULL)

{

strDescript = "对不起,连接服务器失败!";

return false;

}

pFile = pServer->OpenRequest(CHttpConnection::HTTP_VERB_POST,strObject,NULL,1,NULL,NULL,INTERNET_FLAG_EXISTING_CONNECT);

if(pFile == NULL)

{

strDescript = "找不到网络地址" + strUrl;

return false;

}

pFile -> AddRequestHeaders("Content-Type: application/x-www-form-urlencoded");

pFile -> AddRequestHeaders("Accept: /");

pFile -> SendRequest(NULL, 0, (LPTSTR)(LPCTSTR)strPara, strPara.GetLength());

CString strSentence;

DWORD dwStatus;

DWORD dwBuffLen = sizeof(dwStatus);

BOOL bSuccess = pFile->QueryInfo(

HTTP_QUERY_STATUS_CODE|HTTP_QUERY_FLAG_NUMBER,

&dwStatus, &dwBuffLen);

if( bSuccess && dwStatus>= 200 && dwStatus<300)

{

char buffer[256];

memset(buffer, 0, 256);

int nReadCount = 0;

while((nReadCount = pFile->Read(buffer, 2048)) > 0)

{

strContent += buffer;

memset(buffer, 0, 256);

}

bRet = true;

}

else

{

strDescript = "网站服务器错误" + strUrl;

bRet = false;

}

////////////////////////////////////////

pFile->Close();

sess.Close();

return bRet;

}

catch(...)

{

int nCode = GetLastError();

strDescript.Format("向服务器post失败!错误号:%d", nCode);

return false;

}

}
原文链接: https://www.cnblogs.com/tianshifu/p/6379715.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/248925

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月14日 上午3:18
下一篇 2023年2月14日 上午3:18

相关推荐