HarmonyOS第一课07:HTTP数据请求

场景介绍

应用通过HTTP发起一个数据请求,支持常见的GET、POST、OPTIONS、HEAD、PUT、DELETE、TRACE、CONNECT方法。

接口说明

HTTP数据请求功能主要由http模块提供。

使用该功能需要申请ohos.permission.INTERNET权限。

权限申请请参考声明权限

涉及的接口如下表,具体的接口说明请参考API文档

接口名描述
createHttp()创建一个http请求。
request()根据URL地址,发起HTTP网络请求。
requestInStream()10+根据URL地址,发起HTTP网络请求并返回流式响应。
destroy()中断请求任务。
on(type: ‘headersReceive’)订阅HTTP Response Header 事件。
off(type: ‘headersReceive’)取消订阅HTTP Response Header 事件。
once(‘headersReceive’)8+订阅HTTP Response Header 事件,但是只触发一次。
on(‘dataReceive’)10+订阅HTTP流式响应数据接收事件。
off(‘dataReceive’)10+取消订阅HTTP流式响应数据接收事件。
on(‘dataEnd’)10+订阅HTTP流式响应数据接收完毕事件。
off(‘dataEnd’)10+取消订阅HTTP流式响应数据接收完毕事件。
on(‘dataReceiveProgress’)10+订阅HTTP流式响应数据接收进度事件。
off(‘dataReceiveProgress’)10+取消订阅HTTP流式响应数据接收进度事件。
on(‘dataSendProgress’)11+订阅HTTP网络请求数据发送进度事件。
off(‘dataSendProgress’)11+取消订阅HTTP网络请求数据发送进度事件。

request接口开发步骤

  1. 从@kit.NetworkKit中导入http命名空间。
  2. 调用createHttp()方法,创建一个HttpRequest对象。
  3. 调用该对象的on()方法,订阅http响应头事件,此接口会比request请求先返回。可以根据业务需要订阅此消息。
  4. 调用该对象的request()方法,传入http请求的url地址和可选参数,发起网络请求。
  5. 按照实际业务需要,解析返回结果。
  6. 调用该对象的off()方法,取消订阅http响应头事件。
  7. 当该请求使用完毕时,调用destroy()方法主动销毁。

requestInStream接口开发步骤

  1. 从@kit.NetworkKit中导入http命名空间。
  2. 调用createHttp()方法,创建一个HttpRequest对象。
  3. 调用该对象的on()方法,可以根据业务需要订阅HTTP响应头事件、HTTP流式响应数据接收事件、HTTP流式响应数据接收进度事件和HTTP流式响应数据接收完毕事件。
  4. 调用该对象的requestInStream()方法,传入http请求的url地址和可选参数,发起网络请求。
  5. 按照实际业务需要,可以解析返回的响应码。
  6. 调用该对象的off()方法,取消订阅响应事件。
  7. 当该请求使用完毕时,调用destroy()方法主动销毁。

官网地址

https://developer.huawei.com/consumer/cn/doc/html/harmonyos-guides-V5/http-request-V5