🎉 博客主页:【剑九_六千里-CSDN博客】【剑九_六千里-掘金社区】
🎨 上一篇文章:【HarmonyOS第七章:应用状态共享(PersistentStorage、LocalStorage、AppStorage)】
🎠 系列专栏:【HarmonyOS系列】
💖 感谢大家点赞👍收藏⭐评论✍
文章目录
1. http 介绍
1.1. http 基本概念
HTTP
数据请求功能主要由http
模块提供。
使用该功能需要申请ohos.permission.INTERNET
权限。
权限申请请参考访问控制(权限)开发指导。
1.2. http 提供的接口
涉及的接口如下表:
1.3. request接口开发步骤
- 从
@ohos.net.http
中导入http
命名空间。 - 调用
createHttp()
方法,创建一个HttpRequest
对象。 - 调用该对象的
on()
方法,订阅http
响应头事件,此接口会比request
请求先返回。可以根据业务需要订阅此消息 - 调用该对象的
request()
方法,传入http
请求的url
地址和可选参数,发起网络请求。 - 按照实际业务需要,解析返回结果。
- 调用该对象的
off()
方法,取消订阅http
响应头事件。 - 当该请求使用完毕时,调用
destroy()
方法主动销毁。
// 引入包名
import http from '@ohos.net.http';
import {
BusinessError } from '@ohos.base';
// 每一个httpRequest对应一个HTTP请求任务,不可复用
let httpRequest = http.createHttp();
// 用于订阅HTTP响应头,此接口会比request请求先返回。可以根据业务需要订阅此消息
// 从API 8开始,使用on('headersReceive', Callback)替代on('headerReceive', AsyncCallback)。
httpRequest.on('headersReceive', (header) => {
console.info('header: ' + JSON.stringify(header));
});
httpRequest.request(
// 填写HTTP请求的URL地址,可以带参数也可以不带参数。URL地址需要开发者自定义。请求的参数可以在extraData中指定
"EXAMPLE_URL",
{
method: http.RequestMethod.POST, // 可选,默认为http.RequestMethod.GET
// 开发者根据自身业务需要添加header字段
header: {
'Content-Type': 'application/json'
},
// 当使用POST请求时此字段用于传递请求体内容,具体格式与服务端协商确定
extraData: "data to send",
expectDataType: http.HttpDataType.STRING, // 可选,指定返回数据的类型
usingCache: true, // 可选,默认为true
priority: 1, // 可选,默认为1
connectTimeout: 60000, // 可选,默认为60000ms
readTimeout: 60000, // 可选,默认为60000ms
usingProtocol: