HarmonyOS NEXT鸿蒙开发:网络请求-Remote Communication Kit(远场通信服务)发送 GET 请求

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

GET请求介绍

HTTP 中的 GET 请求是一种常用的请求方法,主要用于 从服务器 获取 数据,如:请求网页、图片、API 数据等

特点

  1. 数据传递方式:参数通过 URL 的查询字符串(Query String)传递数据,格式为 ?key1=value1&key2=value2,例如:
    https://api.example.com/users?name=John&age=30
  2. 数据长度限制:由于 URL 长度有限制(不同浏览器和服务器限制不同,通常在 2KB-8KB 之间),GET 请求传递的数据量较小。

缺点

数据明文显示在 URL 中,不适合传递敏感信息(如密码、令牌)。

适用场景:

  • 浏览网页、加载图片等静态资源
  • 调用查询类 API(如搜索数据、获取列表)
  • 传递非敏感的参数(如分页信息 page=1&size=10)

发送 GET 请求

官方网址

定义

get(url: URLOrString, destination?: ResponseBodyDestination): Promise<Response>

参数:

  • url:URLOrString类型,必填,URL网址

  • destination:ResponseBodyDestination,非必填,HTTP响应的目标位置或目的地

例子

创建测试 api

在 https://mock.presstime.cn/ 创建工程、url,定义返回数据:

{
  "data": {
    "name": "李雷",
    "sex": "男",
    "age": 20
  }
}

代码

import { rcp } from '@kit.RemoteCommunicationKit';
import { BusinessError } from '@kit.BasicServicesKit';

const session = rcp.createSession();

const URL_MY_INFO = "https://mock.presstime.cn/mock/68e0fb395247e4d10b5f7811/hongmeng_app/myinfo"

session.get(URL_MY_INFO).then((response) => {
  console.info("get请求--","请求成功,返回:",JSON.stringify(response));
  console.info("get请求--",`状态码:`,response.statusCode);
  const resp = response.toJSON()
  if(resp) {
    console.info("get请求--","姓名:", resp["data"]["name"]);
  }
}).catch((err: BusinessError) => {
  console.error(`请求失败,错误码: ${err.code}, 错误消息: ${JSON.stringify(err)}`);
});

查看日志


原文出处:/show_1GW1ytDl2vRg.html