在鸿蒙系统中,需要从互联网获取数据时,可以通过发送HTTP请求来实现。鸿蒙系统支持多种HTTP请求方式,如GET、POST等。
鸿蒙系统的HTTP请求功能主要由http
模块提供。使用前,需要在应用中申请访问互联网的权限,即ohos.permission.INTERNET
。具体步骤如下:
导入模块
首先,在代码文件中引入http
模块。
import http from '@ohos.net.http';
创建请求对象
创建一个HttpRequest
对象,这个对象用来构建和执行HTTP请求。
let httpRequest = http.createHttp();
订阅响应头
在发起请求之前,可以选择监听HTTP响应头。
httpRequest.on('headersReceive', (header) => {
console.info('header: ' + JSON.stringify(header));
});
发起请求
现在可以通过调用request()
方法来发送HTTP请求了。这里需要指定请求的URL地址以及请求方式(如GET或POST),还可以设置其他参数如请求头、超时时间等。
httpRequest.request(
"YOUR_API_URL", // 替换为你要请求的API URL
{
method: http.RequestMethod.POST,
header: {
'Content-Type': 'application/json'
},
extraData: {
"data": "your data here", // 这里放你要发送的数据
},
expectDataType: http.HttpDataType.STRING,
usingCache: true,
priority: 1,
connectTimeout: 60000,
readTimeout: 60000,
usingProtocol: http.HttpProtocol.HTTP1_1,
},
(err, data) => {
if (!err) {
console.info('Result:' + JSON.stringify(data.result));
console.info('code:' + JSON.stringify(data.responseCode));
console.info('header:' + JSON.stringify(data.header));
console.info('cookies:' + JSON.stringify(data.cookies));
} else {
console.info('error:' + JSON.stringify(err));
}
}
);
清理
当请求完成后,记得取消订阅响应头事件,并销毁HttpRequest
对象以释放资源。
httpRequest.off('headersReceive');
httpRequest.destroy();