HarmonyOS NEXT鸿蒙开发:网络请求-Remote Communication Kit(远场通信服务)介绍、申请网络权限

介绍

官方网址

鸿蒙发送 HTTP 请求,之前使用 Network Kit

目前推荐使用:Remote Communication Kit,提供请求网络数据的功能,当前包含以下能力:

  • HTTP请求能力。Remote Communication Kit构建了一种场景化HTTP通信能力。和Network Kit提供的标准HTTP能力不同的是,Remote Communication Kit构建了场景化API,强调易用性。

  • URPC(Unified Remote Procedure Call)高性能rpc通信库。可实现远程函数调用能力,且具有抗弱网传输、多径传输(蜂窝网络和Wi-Fi)等特性。开发者可通过URPC完成简单方便的远程过程调用。

基本概念

HTTP(Hypertext Transfer Protocol)是一种基于客户端-服务器模型的数据传输协议。客户端向服务器发出请求,服务器返回响应。

HTTP请求是客户端向服务器发送请求的过程,包括以下基本概念:

  • 请求方法(Request Method):客户端向服务器发送请求的方式,如GET、POST、PUT、DELETE、OPTIONS、HEAD、PATCH等。

  • URL(Uniform Resource Locator):统一资源定位符,用于指定要访问的资源的地址。

  • 请求头(Request Header):包含一些附加的信息,如请求的来源、客户端的浏览器类型、语言、字符集等。

  • 请求体(Request Body):包含客户端向服务器发送的数据,如表单数据等。

  • HTTP版本(HTTP Version):HTTP协议的版本号,如HTTP/1.1、HTTP/2等。

  • 状态码(Status Code):服务器响应请求后返回的状态码,如200表示请求成功、404表示请求的资源不存在等。

  • 响应头(Response Header):包含一些附加的信息,如服务器的类型、响应的日期、内容类型等。

  • 响应体(Response Body):包含服务器返回给客户端的数据,如HTML、JSON等格式的数据。

支持以下请求类型

  • GET:获取资源,用于请求特定资源的表示形式。
    常用场景:用于获取资源,如网页、图片、视频等。

  • POST:提交资源,用于提交实体,通常用于提交表单数据。
    常用场景:用于提交数据,如表单数据、上传文件等。

  • OPTIONS:获取资源支持的HTTP方法,用于请求有关目标资源的通信选项。
    常用场景:用于获取资源支持的HTTP方法,如获取某个API支持的请求方式。

  • HEAD:获取资源的元数据,与GET方法类似,但不返回资源的主体部分,只返回资源的元数据,如响应头。
    常用场景:用于获取资源的头部信息,如文件大小、修改时间等。

  • PUT:更新资源,用于修改已经存在服务器上的资源。对指定URL路径上的资源进行完全替换。
    常用场景:用于更新资源,如更新文件、修改数据库记录等。

  • DELETE:删除资源,用于删除目标资源。
    常用场景:用于删除资源的操作,比如删除用户、删除文章等。

  • PATCH:更新资源的一部分,用于对资源进行局部修改。
    常用场景:更新服务器局部资源,比如资源的某些属性和字段,因此不需要替换整个资源。

不要在 previewer 预览中调试网络请求

网络请求在 previewer 预览中 不可用,要在 模拟器 或 真机设备 使用

申请网络权限

应用在使用Remote Communication Kit之前,需要申请权限,否则不能发送网络请求

需申请权限有:

  • ohos.permission.INTERNET:用于应用的权限,决定是否允许应用访问互联网。

  • ohos.permission.GET_NETWORK_INFO:用于获取设备网络信息的 API 。

必须手动配置上述权限后才能使用

申请权限步骤

需要在 entry/src/main/module.json5 中配置所需申请的权限。

代码如下:

{
  "module": {
    "requestPermissions": [
      {
        "name": "ohos.permission.INTERNET"
      },
      {
        "name": "ohos.permission.GET_NETWORK_INFO" // 如果使用PathPreference的'cellular'模式,则需要额外申请此权限
      }
    ]
  }
}

原文出处:/show_1GW1yrnd1ZNl.html