转载地址:https://blog.csdn.net/lhsxsh/article/details/4200486
void CMFCForm1Dlg::OnBnClickedOk()
{
// TODO: 在此添加控件通知处理程序代码
//CDialogEx::OnOK();
CString strDescript = _T("");
CString strContent = _T("");
CString strPara = _T("<?xml version=\"1.0\" encoding=\"UTF-8\"?><mmsxml><mmsheader><Title>ob5YbWxUeHShvw==</Title></mmsheader></mmsxml>");
bool bok = PostContent(_T("http://www.baidu.com"), strPara, strContent, strDescript);
if (!bok)
{
return;
}
}
bool CMFCForm1Dlg::PostContent(CString strUrl, const CString &strPara, CString &strContent, CString &strDescript)
{ // CString strHttpName="http://oa.walkwatch.com";
// 需要提交数据的页面 http://oa.walkwatch.com http://www.baidu.com http://127.0.0.1:8080
// strPara="http://127.0.0.1:8080";
try {
strDescript = "提交成功完成!";
bool bRet = false;
CString strServer, strObject, strHeader, strRet;
unsigned short nPort;
DWORD dwServiceType;
if (!AfxParseURL(strUrl, dwServiceType, strServer, strObject, nPort))
{
strDescript.Format(_T("%s 不是有效有网络地址!"), strUrl.GetBuffer(0));
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 = _T("找不到网络地址") + strUrl;
return false;
}
// pFile -> AddRequestHeaders("Content-Type: text/xml; charset=utf-8");
pFile->AddRequestHeaders(_T("Content-Type: application/x-www-form-urlencoded"));
pFile->AddRequestHeaders(_T("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[2049];
memset(buffer, 0, 2049);
int nReadCount = 0;
while ((nReadCount = pFile->Read(buffer, 2048)) > 0)
{
strContent += buffer;
memset(buffer, 0, 2049);
}
bRet = true;
}
else
{
strDescript = _T("网站服务器错误") + strUrl;
bRet = false;
}
pFile->Close();
sess.Close();
return bRet;
}
catch (...)
{
int nCode = GetLastError();
strDescript.Format(_T("向服务器post失败!错误号:%d"), nCode);
return false;
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)