菜单

HTTP操作案例

下载

介绍

该案例可适用于大部分有关 http 的工程。以案例工程httpTestDemo为介绍主要对象。

页面上有四个 http 控件,代表着 http 的四种方法。下面将依次对 get/post/download/upload 进行讲解。

GET

get 请求最为简单,无需对控件进行设置。直接添加相应的事件处理的函数

在点击事件中,发送请求

c++ 复制代码
wMHttp2->get("http://jsonplaceholder.typicode.com/comments?postId=1");

POST

post 请求需要设置请求头,如下图所示:

在数据方面,需要的是 json 类型的请求体,可以参考以下写法:

c++ 复制代码
map<string, string> map1;
map1["title"] = "foo";
map1["body"] = "bar";
map1["userId"] = util::StringUtil::vertInt("1");
wMHttp3->post("http://jsonplaceholder.typicode.com/posts",util::StringUtil::mapToJson(map1));

util::StringUtil::vertInt("1");表示传入的数据为整型。对于其他的类型,可以进行组合后,调用mapToJson将会自动转化为 json 格式。

Download

下载文件到本地。加入控件后无需配置参数。下面代码为:自建 http 网站,将图片下载至本地

c++ 复制代码
string filePath1 = "E:\\1.jpg";
wMHttp4->download("http://192.168.110.242/yy.jpg", filePath1);

Upload

上传文件到网站/服务器。下面代码为:自建 ftp 网站,将代码上传到服务器

c++ 复制代码
// 设置ftp响应延时
wMHttp5->setOption(stt::constant::CURLOPT::FTP_RESPONSE_TIMEOUT,150);
wMHttp5->upload("ftp://192.168.110.242/test.mp4", "D:\\test.mp4");

响应代码

结果值

c++ 复制代码
long ret = wMHttp3->mResponseCode;

响应体

c++ 复制代码
string val = wMHttp5->mResponse;
最近修改: 2025-01-02Powered by