鸿蒙应用开发-网络请求

鸿蒙应用开发-网络请求

鸿蒙系统提供了http模块用于发送htp请求,另外,0penHarmony社区簋于该模块将前端开发中常用的网络请求库axi0s移植到了鸿蒙系统,因此我们也可以
在鸿蒙系统中使用axios发送http请求,下面重点为大家介绍axios的用法。

1.申请网络权限

默认情况下,应用只能访问有限的系统资源,若应用需要访问一些受保护的数据(照片、通讯录、位置等)或者功能(打电话、发短信、联网等),需要先申请
相应的权限。鸿蒙系统的权限列表可参考官方文档, 权限的申请可分为如下两步

声明所需权限

开发者需要在 entry/src/main/module.jsons 文件中声明所需权限,具体格式如下
在这里插入图片描述
在这里插入图片描述

安装axios

在这里插入图片描述
在这里插入图片描述

之后在终端执行如下命令即可

ohpm i @ohos/axios

如果ohpm 不能被识别,需要检查环境变量是否配置正确

安装 @ohos/axios 包时遇到了问题,提示信息显示无法识别 ohpm 命令。这通常意味着 ohpm 命令没有被正确地添加到环境变量中,或者环境变量的更改尚未生效。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
第2条很关键,修改后终端重启,或者应用重启

axios快速入门

1.第一步导入axios

import axios from '@ohos/axios'

2.第二步:创建axios实例

const instance = axios.create({
 baseURL:'http:ssssss',
 timeout:''
})

就可以正常发送网络请求了具体使用方法。你也可以查看@ohos/axios官网

更多资料我已经整理好放在下面了↓↓↓↓↓↓需要的可以去看看吧

### 鸿蒙开发中的HTTP网络请求API 在鸿蒙(OpenHarmony)应用开发中,可以通过 `@ohos.net.http` 提供的 HTTP 请求接口来实现网络数据交互功能。以下是关于如何使用该模块完成基本的 HTTP GET 和 POST 请求的具体说明。 #### 1. **GET 请求** 通过创建 HTTP 客户端实例并调用其方法可以轻松发起 GET 请求。以下是一个完整的示例: ```javascript import http from '@ohos.net.http'; function sendHttpGetRequest() { let request = new http.HttpClientRequest(); try { request.url = 'https://jsonplaceholder.typicode.com/posts/1'; request.method = http.RequestMethod.GET; request.send().then((response) => { response.getResponseData().then(data => { console.log('Response Data:', data); }); }).catch(error => { console.error('Error occurred during the request:', error.message); }); } catch (e) { console.error('Exception while setting up the request:', e.message); } } sendHttpGetRequest(); ``` 此代码片段展示了如何设置 URL、指定请求方式为 GET 并处理响应数据[^1]。 #### 2. **POST 请求** 对于需要提交表单或其他数据的情况,则应采用 POST 方法。下面是一段演示如何构建带 JSON 数据体的 POST 请求的例子: ```javascript import http from '@ohos.net.http'; function sendHttpPostRequest() { let requestBody = JSON.stringify({ title: 'foo', body: 'bar', userId: 1 }); let request = new http.HttpClientRequest(); try { request.url = 'https://jsonplaceholder.typicode.com/posts'; request.method = http.RequestMethod.POST; request.header['Content-Type'] = 'application/json;charset=utf-8'; request.body = requestBody; request.send().then((response) => { response.getResponseData().then(data => { console.log('Post Response Data:', data); }); }).catch(error => { console.error('Post Error Occurred:', error.message); }); } catch (e) { console.error('Post Exception While Setting Up The Request:', e.message); } } sendHttpPostRequest(); ``` 这里设置了自定义头部字段以及包含了要传递的数据主体部分[^2]。 --- ### 注意事项 - 在实际项目部署前,请确保已获取必要的权限声明 `<uses-permission android:name="ohos.permission.INTERNET"/>` 来允许应用程序访问互联网资源。 - 如果目标服务器支持 HTTPS 协议而非仅限于 HTTP ,则推荐优先选用前者以保障通信安全。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端成长营

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值