vc post求助 求一段 vc post源码 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 POST 网页 例如XXX.ASP?XXXX=XXXX //****************************************************************************************////函数 PostContent//主要功能: Post方式向服务器传数据//参数列表: //返回值: //备注: //****************************************************************************************//bool PostContent(CString strUrl, const CString &strPara, CString &strContent, CString &strDescript){ try{ strDescript = "提交成功完成!"; bool bRet = false; CString strServer, strObject, strHeader, strRet; unsigned short nPort; DWORD dwServiceType; if(!AfxParseURL(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: text/xml; charset=utf-8"); 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[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 = "网站服务器错误" + strUrl; bRet = false; } //////////////////////////////////////// pFile->Close(); sess.Close(); return bRet; } catch(...) { int nCode = GetLastError(); strDescript.Format("向服务器post失败!错误号:%d", nCode); return false; }} 为什么malloc会失败,处理内存不足的原因之外 *********如何将一个纯小数转换为string类型(或者C字符串类型)???************** 一个关于线程的基础问题…… 如何让LIST风格的listCtrl每行只显示一条ITEM!! 那位老大知道如果删除一个文件夹下面的所有文件啊? free_card() 领分 这里不会没有人做过 DLL 吧? 在线等待。。。急 前辈们:现在学com 编程,是不是晚了,若是还有别的路吗? VC编程过程中,蜂鸣器会响什么原因 如何隐藏ALT + TAB 中的窗口 如何使用cg-toolkit2.2下的样例文件?
//函数 PostContent
//主要功能: Post方式向服务器传数据
//参数列表:
//返回值:
//备注:
//****************************************************************************************//
bool PostContent(CString strUrl, const CString &strPara, CString &strContent, CString &strDescript)
{
try{ strDescript = "提交成功完成!";
bool bRet = false;
CString strServer, strObject, strHeader, strRet;
unsigned short nPort;
DWORD dwServiceType;
if(!AfxParseURL(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: text/xml; charset=utf-8");
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[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 = "网站服务器错误" + strUrl;
bRet = false;
}
////////////////////////////////////////
pFile->Close();
sess.Close();
return bRet;
}
catch(...)
{
int nCode = GetLastError();
strDescript.Format("向服务器post失败!错误号:%d", nCode);
return false;
}
}