菜单

2.6.6 HTTP

下载

1 用途

【HTTP】控件用于访问支持HTTP协议的网站,支持GET、POST、Upload、DownLoad四种请求。程序运行时控件不可见。

建议放在公共页中使用。

2 属性

2.1 控件

控件名,页面内唯一。

2.2 协议头

设置发送请求时附加的协议头参数(选配),可以添加多条请求头信息。

2.3 连接超时

设置连接超时(单位:s),默认5。

2.4 请求超时

设置请求的超时时间(单位:s),默认10。

2.5 代理服务器

配置代理服务器参数(选配)

2.6 事件处理

定义接收到响应后的回调处理函数。

 
 

3 测试示例

对于Get Post请求可以访问示例api网站进行测试功能

1)GET方法

发送请求函数定义:
int ret=wMHttp2->get("http://jsonplaceholder.typicode.com/posts/1");
//输出执行结果
cout << "ret=" << ret << endl;

ret :
成功:返回sessionid(>10000)
失败:其它值

响应回调函数:

void Frm01::wMHttp2_ref_cb(uint16_t code, LvEvent e) {
	string res=wMHttp2->mResponse;
	cout << "----response=\n" << res << endl;
}

2) POST方法

对于Post请求 需要额外添加结构体,示例代码如下:

void Frm01::wMButton13_clk_cb(uint16_t code, LvEvent e) {
 string data;
 map<string, string> map1;
 map1["title"] = "foo";
 map1["body"] = "bar" ;
 map1["userId"] = util::StringUtil::vertInt("1");
 int ret = wMHttp2->post("http://jsonplaceholder.typicode.com/posts" ,util::StringUtil::mapToJson(map1));
 cout << "ret=" << ret << endl;
}

3) upload方法

upload测试这里是使用本地HTTP/FTT服务器,服务器的搭建请参考本地http/ftp服务器搭建。

void Frm01::wMButton14_clk_cb(uint16_t code, LvEvent e) {
 int ret = wMHttp2->upload("ftp://192.168.110.241/operationlog.db","./data/operationlog.db");
 cout << "ret=" << ret << endl;
}

4) download方法

download测试这里是使用本地HTTP/FTT服务器,服务器的搭建请参考本地http/ftp服务器搭建。

void Frm01::wMButton15_clk_cb(uint16_t code, LvEvent e) {
 int ret = wMHttp2->download("http://192.168.110.241/SIMTUTAI0.jpg","./data/SIMTUTAI0.jpg");
 cout << "ret=" << ret << endl;
}
 

4 其它API

如在请求发出前需要自定义配置,可以使用setoption函数设置,如下所示:
 wMHttp2->setoption(stt::constant::CURLOPT ::FTP_RESPONSE_TIMEOUT,150);
其他配置参数类别 可以从 库->base->Constants.h->CURLOPT 中进行选择。
上一个
2.6.5 扫码枪
下一个
2.6.7 异步
最近修改: 2025-02-11Powered by