注意:网络请求在 previewer预览 中 不可用,要在 模拟器 或 真机设备 使用
GET请求介绍
HTTP 中的 GET 请求是一种常用的请求方法,主要用于 从服务器 获取 数据,如:请求网页、图片、API 数据等
特点
- 数据传递方式:参数通过 URL 的查询字符串(Query String)传递数据,格式为
?key1=value1&key2=value2,例如:https://api.example.com/users?name=John&age=30 - 数据长度限制:由于 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)}`);
});
