请问如何在VC中使用HTTP的POST模式获得JSON数据?

lengx7 2019-02-20 09:17:21
网站API的调用
URL
http://域名/API/GetCunkuan

Method
POST

Description
查询API账户余额接口

Request Param List
Name Identifier Type Remark
username string 用户名
sign string MD532签名
加密参数sid string sid字符串

Response Param List
Name Identifier Type Remark
status string 返回ok代表获取成功,否则返回错误信息
cunkuan array<object> API账户存款




VC代码:
CString   CHttpClient::doPost(CString   href)   
{
CString httpsource="";
CInternetSession session1;
CHttpConnection* conn1=NULL;
CHttpFile* pFile = NULL;
CString strServerName;
CString strObject;
INTERNET_PORT nPort;
DWORD dwServiceType;
AfxParseURL((LPCTSTR)href,dwServiceType, strServerName, strObject, nPort);
DWORD retcode;
char* outBuff = CONTENT.GetBuffer(1000);
try
{
conn1 = session1.GetHttpConnection(strServerName,nPort);
pFile = conn1->OpenRequest(0,strObject,NULL,1,NULL,"HTTP/1.1",INTERNET_FLAG_EXISTING_CONNECT|INTERNET_FLAG_NO_AUTO_REDIRECT);
pFile -> AddRequestHeaders("Content-Type: application/json");
pFile -> AddRequestHeaders("Accept: application/json");
pFile -> SendRequest(NULL,0,outBuff,strlen(outBuff)+1);
pFile -> QueryInfoStatusCode(retcode);
}
catch (CInternetException * e){};
if(pFile)
{
CString text;
for(int i=0;pFile->ReadString(text);i++)
{
httpsource=httpsource+text+"/r/n";
}
pFile->Close();
}else
{

}
return httpsource;
delete pFile;
delete conn1;
session1.Close();
}

void CHttpClient::addParam(CString name, CString value)
{
names.AddTail((LPCTSTR)name);
values.AddTail((LPCTSTR)value);
CString eq="=";
CString an="&";
CONTENT=CONTENT+name+eq+value+an;

CL=CONTENT.GetLength();
}








CString TName,SingStr,SidStr;
CHttpClient conn;
CString value="http://www.com/API/GetCunkuan";
CString rstr="";
TName="123456789";
SingStr="123456789";
SidStr="123456789";
conn.addParam("username",TName);
conn.addParam("sign",SingStr);
conn.addParam("sid",SidStr);
rstr=conn.doPost(value);



使用后rstr返回
{"status":"无效的 JSON 基元: username。","cunkuan":0}/r/n


是哪里不对有需要修改的地方,还望各位大神指点
...全文
858 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
lengx7 2019-03-28
  • 打赏
  • 举报
回复
引用 1 楼 zgl7903 的回复:
从HTTP四种POST 提交数据方式,引申JSON与JSONP区别

虽然最后还是没有搞定,不过也谢谢了

3,055

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC HTML/XML
社区管理员
  • HTML/XML社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧