资源简介
此代码用c++实现了http客户端的编写,其中包括了多字节转utf8(已在ExecuteRequest函数中实现,不用再引用所给的编码转换),get和post两种请求方式,后面有json数据的解析以及实现,详情可去博客https://blog.csdn.net/hfuu1504011020/article/details/88785532
代码片段和文件信息
#pragma once
#include “StdAfx.h“
#include
#include
#include
#include
#include “HttpClient.h“
#include “DatabaseManage.h“
CHttpClient * CDatabaseManage::m_httpCtrl;
CDatabaseManage::CDatabaseManage(void)
{
m_httpCtrl = NULL;
}
CDatabaseManage::~CDatabaseManage(void)
{
NULL;
}
int CDatabaseManage::login( LPCTSTR strEmail LPCTSTR strPwd HWND hwnd)
{
UINT uiRet = -1;
if (m_httpCtrl == NULL)
{
m_httpCtrl = new CHttpClient();
}
CString strUrlstrPostData ;
strUrl.Format(_T(“http://192.168.43.128:3000/Login?content={\“UserName\“:\“%s\“\“PassWord\“:\“%s\“}“)strEmailstrPwd);
string strResponse=““;
uiRet = m_httpCtrl->HttpGet(strUrlstrPostDatastrResponse);
if ((uiRet == SUCCESS) &&(!strResponse.empty()))
{
Json::Value root;
Json::Reader reader;
if (reader.parse(strResponserootfalse))
{
if (root.isMember(“errorCode“))
{
string nCommandId = root[“errorCode“].asString();
if (strcmp((char *)nCommandId.c_str()(“0x0000“)))
{
return FAILURE;
}
}
if (root.isMember(“content“))
{
Json::Value jsResult=root[“content“];
UINT nId;
string userName;
if (jsResult.isMember(“Employee_Index“))
{
nId = jsResult[“Employee_Index“].asInt();
}
if (jsResult.isMember(“UserName“))
{
userName = jsResult[“UserName“].asString();
}
CA2T szr(userName.c_str());
::SendMessage(hwndCM_GETUSERIDANDNAME(WPARAM)nId(LPARAM)(LPCTSTR)szr);
}
}
}
return uiRet;
}
int CDatabaseManage::QueryMRInBooked( CString roomIdCString data HWND hwnd)
{
TMRBookedInfo tmrBookedInfo;
TMRBookedInfoArray tmrBookedInfoArray;
tmrBookedInfoArray.clear();
UINT uiRet = -1;
if (m_httpCtrl == NULL)
{
m_httpCtrl = new CHttpClient();
}
CString strUrlstrPostData ;
strUrl.Format(_T(“http://192.168.43.128:3000/QueryConferenceRecord?content={\“Conference_Index\“:\“%s\“\“RecordTime\“:\“%s\“}“)roomIddata);
string strResponse=““;
uiRet = m_httpCtrl->HttpGet(strUrlstrPostDatastrResponse);
if ((uiRet == SUCCESS) &&(!strResponse.empty()))
{
Json::Value root;
Json::Reader reader;
if (reader.parse(strResponserootfalse))
{
if (root.isMember(“content“))
{
Json::Value jsResult=root[“content“];
if (jsResult.size()==0)
{
return 0;
}
uiRet = jsResult.size();
for(int i=0;i {
if (jsResult[i].isMember(“Index“))
{
tmrBookedInfo.uiIdx = jsResult[i][“Index“].asInt();
}
if (jsResult[i].isMember(“Subject“))
{
tmrBookedInfo.strObj = jsResult[i][“Subject“].asCString();
}
if (jsResult[i].isMember(“BeginTime“))
{
tmrBookedInfo.uiBeginTime = jsResult[i][“BeginTime“].asCString();
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-03-25 09:21 http+json解析\
文件 7400 2019-03-18 09:06 http+json解析\Databa
文件 1022 2019-03-14 16:51 http+json解析\Databa
文件 6605 2019-02-15 16:57 http+json解析\HttpClient.cpp
文件 1062 2019-02-15 16:57 http+json解析\HttpClient.h
相关资源
- 矩阵所有运算的C++代码
- 北京浮生记控制台版C++源代码
- 一个步态识别 软件
- vc++&opencv图像分块
- C++实验继承与派生
- C++ 桌面宠物-金鱼
- MATLAB模糊控制器*.fisC/C++接口文件
- 矩阵求逆C++源代码
- C++获取程序版本信息
- 迷宫求解含源代码
- 端口扫描VC++高级编程源代码
- 高效 C++ 屏幕找图 屏幕搜索 透明找
- 基于LSB的图片数据隐藏c++类
- 汽车修理厂管理系统(C++开发)
- 算术编码源程序c++程序
- c++求图的最短路径算法
- 用C++实现电影院订票系统
- c++学生成绩管理系统课程设计
- 单像空间后方交会c++程序代码
- [原创]使用MFC实现文档打印
- DES加密解密算法C++程序设计
- 用c++编写的一个学生信息管理系统,
- 基于C++的三帧差法
- C++ httpclient类
- 数据结构大作业航空客运订票系统
- C++课程设计报告及源程序学生学籍管
- 用c++实现围棋双人玩
- 使用微软蓝牙API的
- 水果专家系统
- 和矩阵相关的头文件matrix.h
评论
共有 条评论