在《#跟着小白一起学鸿蒙# [二] 第一个OpenHarmony程序》我们熟悉了如何在开源鸿蒙开发应用,并通过hdc工具拷贝至开发板运行。但是那时候我们只是打印了最简单的hello world,接下来我们就讲开发最常用的部分,一个简单的http客户端;
概述
- HTTP 是一个基于 TCP/IP 通信协议来传递数据(HTML 文件、图片文件、查询结果等)。
- HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。
- HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。
HTTP请求消息Request
- 请求数据结构如下
- 一个Get的sample
在浏览器输入www.baidu.com然后回车即可看到浏览器显示了百度的页面,按F12可以看到具体内容:
上图里我们可以看到在请求的url是www.baidu.com,请求的方法是GET,服务器的IP地址是180.101.49.14:443(https,若是http就是80)。
- 一个Post的sample
- 上图里我们可以看到在请求的url是https://cysz.hopethink.com/qhhsd/app/getH5HsdList,请求的方法是POST,服务器的IP地址是114.215.124.251:443(https,若是http就是80),请求内容类型application/x-www-form-urlencoded;charset=UTF-8,请求数据长度84,请求数据keyword=&streetId=&pageNum=1&pageSize=1&ip=222.95.30.84。
此样例参考小熊派设计,使用小熊派HM_Micro开发板进行验证。
应用开发流程
建立Build.gn。
建立helloworld.c。
添加httpget。
httppost:
在main里增加方法和头文件。
- 头文件
- 方法
测试结果:
Get测试结果:
Post测试结果:
总结
- http是建立在socket之上的数据结构化应用协议,可以通过拼socket包实现所有功能。
- 之后我们可以利用此接口实现一个核算地图的界面应用。