介绍
鸿蒙发送 HTTP 请求,之前使用 Network Kit
目前推荐使用:Remote Communication Kit,提供请求网络数据的功能,当前包含以下能力:
HTTP请求能力。Remote Communication Kit构建了一种场景化HTTP通信能力。和Network Kit提供的标准HTTP能力不同的是,Remote Communication Kit构建了场景化API,强调易用性。
URPC(Unified Remote Procedure Call)高性能rpc通信库。可实现远程函数调用能力,且具有抗弱网传输、多径传输(蜂窝网络和Wi-Fi)等特性。开发者可通过URPC完成简单方便的远程过程调用。
基本概念
HTTP(Hypertext Transfer Protocol)是一种基于客户端-服务器模型的数据传输协议。客户端向服务器发出请求,服务器返回响应。
HTTP请求是客户端向服务器发送请求的过程,包括以下基本概念:
请求方法(Request Method):客户端向服务器发送请求的方式,如GET、POST、PUT、DELETE、OPTIONS、HEAD、PATCH等。
URL(Uniform Resource Locator):统一资源定位符,用于指定要访问的资源的地址。
请求头(Request Header):包含一些附加的信息,如请求的来源、客户端的浏览器类型、语言、字符集等。
请求体(Request Body):包含客户端向服务器发送的数据,如表单数据等。
HTTP版本(HTTP Version):HTTP协议的版本号,如HTTP/1.1、HTTP/2等。
状态码(Status Code):服务器响应请求后返回的状态码,如200表示请求成功、404表示请求的资源不存在等。
响应头(Response Header):包含一些附加的信息,如服务器的类型、响应的日期、内容类型等。
响应体(Response Body):包含服务器返回给客户端的数据,如HTML、JSON等格式的数据。
支持以下请求类型
GET:获取资源,用于请求特定资源的表示形式。
常用场景:用于获取资源,如网页、图片、视频等。POST:提交资源,用于提交实体,通常用于提交表单数据。
常用场景:用于提交数据,如表单数据、上传文件等。OPTIONS:获取资源支持的HTTP方法,用于请求有关目标资源的通信选项。
常用场景:用于获取资源支持的HTTP方法,如获取某个API支持的请求方式。HEAD:获取资源的元数据,与GET方法类似,但不返回资源的主体部分,只返回资源的元数据,如响应头。
常用场景:用于获取资源的头部信息,如文件大小、修改时间等。PUT:更新资源,用于修改已经存在服务器上的资源。对指定URL路径上的资源进行完全替换。
常用场景:用于更新资源,如更新文件、修改数据库记录等。DELETE:删除资源,用于删除目标资源。
常用场景:用于删除资源的操作,比如删除用户、删除文章等。PATCH:更新资源的一部分,用于对资源进行局部修改。
常用场景:更新服务器局部资源,比如资源的某些属性和字段,因此不需要替换整个资源。
不要在 previewer 预览中调试网络请求
网络请求在 previewer 预览中 不可用,要在 模拟器 或 真机设备 使用
申请网络权限
应用在使用Remote Communication Kit之前,需要申请权限,否则不能发送网络请求
需申请权限有:
ohos.permission.INTERNET:用于应用的权限,决定是否允许应用访问互联网。
ohos.permission.GET_NETWORK_INFO:用于获取设备网络信息的 API 。
必须手动配置上述权限后才能使用
申请权限步骤
需要在 entry/src/main/module.json5 中配置所需申请的权限。
代码如下:
{
"module": {
"requestPermissions": [
{
"name": "ohos.permission.INTERNET"
},
{
"name": "ohos.permission.GET_NETWORK_INFO" // 如果使用PathPreference的'cellular'模式,则需要额外申请此权限
}
]
}
}