HTTP
一、导入http模块
module.json5里添加网络权限
导入http模块
二、创建http请求
创建http请求
import { http } from '@kit.NetworkKit'
function getNetData() {
// 创建数据请求对象
let httpRequest = http.createHttp()
}
三、发起请求
请求方法
四、请求示例
GET请求
POST请求
五、处理响应
ResponseCode状态码
六、销毁http
七、 获取鸿蒙专栏网络数据
效果图
testHttp01.ets代码
import { http } from '@kit.NetworkKit'
import { BusinessError } from '@kit.BasicServicesKit';
import { JSON } from '@kit.ArkTS';
/**
* 获取 鸿蒙专栏
* @returns
*/
function getHarmonySpecialColumn(): string {
let jsonData = ""
// 创建数据请求对象
// 每一个httpRequest对应一个HTTP请求任务,不可复用
let httpRequest = http.createHttp()
// 用于订阅HTTP响应头,此接口会比request请求先返回。可以根据业务需要订阅此消息
// 从API 8开始,使用on('headersReceive', Callback)替代on('headerReceive', AsyncCallback)。 8+
httpRequest.on('headersReceive', (header) => {
console.info('header: ' + JSON.stringify(header));
});
// 开发API https://www.wanandroid.com/blog/show/2
let baseUrl = "https://www.wanandroid.com/"
//鸿蒙专栏
const harmonyJson = "harmony/index/json"
httpRequest.request(`${baseUrl}${harmonyJson}`, {
method: http.RequestMethod.GET,
header: {
'Content-Type': 'application/json'
},
connectTimeout: 60000, // 可选,默认为60000ms
readTimeout: 60000, // 可选,默认为60000ms
}, (err: BusinessError, data: http.HttpResponse) => {
if (err) {
console.error('error:' + JSON.stringify(err));
httpRequest.destroy()
} else {
jsonData = JSON.stringify(data.result)
// data.result为HTTP响应内容,可根据业务需要进行解析
console.info('Result jsonData :' + jsonData);
console.info('code:' + JSON.stringify(data.responseCode));
// data.header为HTTP响应头,可根据业务需要进行解析
console.info('header:' + JSON.stringify(data.header));
console.info('cookies:' + JSON.stringify(data.cookies)); // 8+
// 当该请求使用完毕时,调用destroy方法主动销毁
httpRequest.destroy();
}
})
return jsonData
}
@Entry
@Component
struct TestHttp01 {
@State message: string = '鸿蒙专栏';
build() {
Column() {
Button("获取鸿蒙专栏")
.fontColor(Color.Black)
.fontSize(20)
.margin({ top: 20 })
.fontWeight(FontWeight.Medium)
.onClick((event) => {
getHarmonySpecialColumn()
})
}
.height('100%')
.width('100%')
}
}
标签:httpRequest,HTTP,请求,header,访问,HarmonyOS,JSON,http,data
From: https://blog.csdn.net/ChinaDragon10/article/details/144226965