一起学习HarmonyOS应用开发——基础篇(9)

本文介绍了在Ohos应用中如何通过system_grant权限进行HTTPGET请求,包括在module.json中添加网络权限、使用HttpRequest对象发送请求并处理响应。开发者需导入http命名空间,设置请求参数和错误处理机制。
摘要由CSDN通过智能技术生成

前言,前面几篇一直在说基础组件和容器组件的使用,这些都是本地的数据处理,接下来说一下如何和服务器进行数据交互,那就是如何使用网络请求数据。

HTTP数据请求:通过HTTP发起一个网络请求,支持GET、POST、PUT等方法。今天先说一下GET方法的使用,因为这个在浏览器也可以立马得到验证。

1、先加入网络权限。从应用权限列表中看出该网络权限是system_grant授权方式,所以不需要用户手动同意。

 

在module.json5文件中添加权限由于这个权限授权方式是system_grant,所以写法就很简单。如果是user_grant的话,这里就需要多一些标签字段配置项。"requestPermissions": [      {        "name": "ohos.permission.INTERNET"      }]

 2、在文件第一行记得导入http命名空间(才能顺利调用),然后使用createHttp方法得到一个HttpRequest对象,然后调用request方法,在里面传入请求api地址和参数,最后请求使用完后记得使用destroy()方法主动销毁。

import http from '@ohos.net.http';@Entry@Componentstruct HttpTest {  build(){    Column() {      Button('网络请求').onClick(() => {        let httpRequest = http.createHttp();        httpRequest.request(          // 填写HTTP请求的URL地址:鸿洋大神搭建的免费api接口          "https://wanandroid.com/article/list/0/json",          {            method: http.RequestMethod.GET,            header: {              'Content-Type': 'application/json'            },            extraData: {              "author": "鸿洋",//传递的参数            },            expectDataType: http.HttpDataType.STRING, // 可选,指定返回数据的类型            usingCache: true, // 可选,默认为true            priority: 1, // 可选,默认为1            connectTimeout: 60000, // 可选,默认为60000ms            readTimeout: 60000, // 可选,默认为60000ms            usingProtocol: http.HttpProtocol.HTTP1_1, // 可选,协议类型默认值由系统自动指定          }, (err, data) => {          if (!err) {            console.log('李乾乾'+data.result.toString())          } else {            console.info('error:' + JSON.stringify(err));            // 当该请求使用完毕时,调用destroy方法主动销毁            httpRequest.destroy();          }        }        );      })    }  }}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值