【鸿蒙学习笔记】使用httpRequest进行HTTP数据请求

news2024/9/28 1:17:48

官方文档:网络管理开发概述

目录标题

  • 访问淘宝公开接口(测试数据)
  • 第1步:module.json5 配置网络授权
  • 第2步:源码
  • 第3步:启动模拟器
  • 第4步:启动entry
  • 第5步:操作

访问淘宝公开接口(测试数据)

http://rap2api.taobao.org/app/mock/293606/api/chat/list

第1步:module.json5 配置网络授权

"requestPermissions": [{
  // 网络授权
  "name":'ohos.permission.INTERNET'
}]

第2步:源码

import { http } from '@kit.NetworkKit';
import { BusinessError } from '@kit.BasicServicesKit';

@Entry
@Component
struct Index_http {
  url = 'http://rap2api.taobao.org/app/mock/293606/api/chat/list';

  build() {
    Row() {
      Column() {
        Button('get httpData')
          .width(160)
          .height(60)
          .onClick(() => {
            this.getHttpData()
          })
      }
      .width('100%')
    }
    .height('100%')
  }

  getHttpData() {
    // 0 配置权限,module.json5追加"name":'ohos.permission.INTERNET'

    // 1. 创建网络请求对象
    let httpRequest = http.createHttp()

    // 2. 调用request方法 , 传入url等参数
    httpRequest.request(this.url,
      {
        method: http.RequestMethod.GET, // 可选,默认为http.RequestMethod.GET

        // 开发者根据自身业务需要添加header字段
        header: {
          'Content-Type': 'application/json'
        },

        connectTimeout: 60000, // 可选,默认为60000ms
        readTimeout: 60000, // 可选,默认为60000ms
      },
      (err: BusinessError, data: http.HttpResponse) => {
        // 3. 处理结果
        if (!err) {

          AlertDialog.show({ message: JSON.stringify(data.result) })

          // data.result为HTTP响应内容,可根据业务需要进行解析
          console.info('Result:' + JSON.stringify(data.result));
          console.info('code:' + JSON.stringify(data.responseCode));

          // data.header为HTTP响应头,可根据业务需要进行解析
          console.info('header:' + JSON.stringify(data.header));
          console.info('cookies:' + JSON.stringify(data.cookies));

          // 4. 销毁请求对象
          httpRequest.destroy();
        } else {
          console.error('error:' + JSON.stringify(err));

          // 4. 销毁请求对象
          httpRequest.destroy()
        }
      })

  }
}

第3步:启动模拟器

在这里插入图片描述

第4步:启动entry

在这里插入图片描述

在这里插入图片描述

第5步:操作

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1919913.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

区分modbus tcp和tcp/ip

Modbus 对某些人来说,这听起来可能很复杂,也很令人费解,但是一旦你了解了它的工作原理,那就是一个特别简单的过程。MODBUS 这是一种请求和响应协议。MODBUS 主站将发起请求,从站将响应错误或请求信息。这就是 modbus 简…

海外媒体软文发稿:南非新闻通稿宣发,谷歌新闻收录

南非媒体介绍 南非作为非洲大陆最先进的经济体之一,拥有着丰富多样的媒体资源。在南非,各种类型的新闻报纸、杂志和网站充斥着市场。以下是一些南非主要媒体的 大舍传媒 大舍传媒是专注南非最有影响力的发稿平台之一,其新闻报道覆盖了南非…

【深度学习】基于深度学习的模式识别基础

一 模式识别基础 “模式”指的是数据中具有某些相似特征或属性的事物或事件的集合。具体来说,模式可以是以下几种形式: 视觉模式 在图像或视频中,模式可以是某种形状、颜色组合或纹理。例如,人脸、文字字符、手写数字等都可以视…

【鸿蒙学习笔记】通过用户首选项实现数据持久化

官方文档:通过用户首选项实现数据持久化 目录标题 使用场景第1步:源码第2步:启动模拟器第3步:启动entry第6步:操作样例2 使用场景 Preferences会将该数据缓存在内存中,当用户读取的时候,能够快…

千呼新零售2.0-OCR图像识别采购单视频介绍

千呼新零售2.0系统是零售行业连锁店一体化收银系统,包括线下收银线上商城连锁店管理ERP管理商品管理供应商管理会员营销等功能为一体,线上线下数据全部打通。 适用于商超、便利店、水果、生鲜、母婴、服装、零食、百货、宠物等连锁店使用。 详细介绍请…

29.PLL(锁相环)-IP核的调用

(1)PLL IP核的简介: Phase Locked Loop,即锁相环,是最常用的IP核之一,其性能强大,可以对输入到FPGA的时钟信号进行任意分频、倍频、相位调整、占空比调整,从而输出一个期望时钟。锁相…

如何从gitlab删除仓库

嗨,我是兰若姐姐。今天发现gitlab上有些仓库的代码没有用,是个多余的仓库,想要删掉,经过一番操作之后,成功的删除了,git上没有 多余的仓库,看着干净舒服很多,现在把删除的过程分享出…

Node.js如何在Windows安装?

文章目录 主要特点:使用场景:安装方法验证是否安装成功 Node.js 是一个开源、跨平台的JavaScript运行环境,由Ryan Dahl于2009年创建。它允许开发者在服务器端运行JavaScript代码。Node.js 基于Chrome V8 JavaScript引擎构建,其设计…

各地户外分散视频监控点位,如何实现远程集中实时监看?

公司业务涉及视频监控项目承包搭建,此前某个项目需求是为某林业公司提供视频监控解决方案,需要实现各地视频摄像头的集中实时监看,以防止国家储备林的盗砍、盗伐行为。 公司原计划采用运营商专线连接各个视频监控点位,实现远程视…

前后端通信 —— HTTP/HTTPS

目录 一、HTTP/HTTPS 简介 1、HTTP 2、HTTPS 二、HTTP 工作过程 三、HTTP 消息 1、HTTP消息结构 2、HTTP消息示例 四、HTTP 方法(常用) 1、GET 2、POST 3、PUT 4、DELETE 5、GET与POST对比 五、HTTP 状态码(常用) …

【Hive SQL 每日一题】在线峰值人数计算

文章目录 测试数据需求说明需求实现 测试数据 -- 创建 user_activity 表 DROP TABLE IF EXISTS user_activity ; CREATE TABLE user_activity (user_id STRING,activity_start TIMESTAMP,activity_end TIMESTAMP );-- 插入数据 INSERT INTO user_activity VALUES (user1, 2024…

GAN生成对抗网络

GAN生成对抗网络 GANStable Diffusion GAN生成对抗网络子啊2015年横空出世,在当时掀起了巨大轰动,很多人预研它将开创一个全新的学习范式,当时有一个很流行的说法:样本不够,GAN来凑。现如今,大模型当道&…

vue+lodop实现web端打印功能

lodop官网下载地址:http://www.c-lodop.com/download.html 1、下载插件(如果只是想实现打印功能,下载红框里的即可) 2、解压缩,然后根据自己的操作系统安装控件 32位系统安装:install_lodop32.exe&#x…

通俗易懂,幽默诙谐,《IP 核芯志》让逻辑设计思想摆脱枯燥的标签(可下载)

在科技的广袤星空中,数字逻辑设计宛如一颗璀璨的明星,闪耀着智慧与创造的光芒。而在这光芒的深处,IP 核芯则是那关键的能量源泉,驱动着无数创新的浪潮。 《IP 核芯志——数字逻辑设计思想》犹如一座灯塔,照亮了我们在…

Docker Push Docker Hub

首先可以参考 Docker | 将自己的docker镜像推送到docker hub[图文详情]_如何将自己的docker镜像上传到dockerhub上-CSDN博客 将自己的镜像打标签 和 镜像推送到 docker hub上的图文注意一下 1.打标签之前 docker tag paddleocr_fast_api:1.0 hmgx/wlx:3.0 2.打标签之后 3.开…

数据结构 —— FloydWarshall算法

数据结构 —— FloydWarshall算法 FloydWarshall算法三种最短路径算法比较1. Dijkstra算法2. Bellman-Ford算法3. Floyd-Warshall算法总结 我们之前介绍的两种最短路径算法都是单源最短路径,就是我们要指定一个起点来寻找最短路径,而我们今天介绍的Floyd…

STM32第十八课:SPIFlash

目录 需求一、SPI概要二、SPI配置1.开时钟2.配置IO3.配置&使能SPI 三、FLash操作函数1.SPI发送数据2.FLASH写使能3.FLASH等待操作完成4.FLASH页写操作5.FLASH读操作6.FLASH扇区擦除 四、需求实现 需求 通过SPI控制FLash进行数据的保存和删除。 一、SPI概要 在我们使用UA…

egg.js使用消息队列rabbitMQ

1. egg-amqplib: 基于 rabbitmq 消息队列封装的库 安装: npm i egg-amqplib --save 引入 // {app_root}/config/plugin.js exports.amqplib {enable: true,package: egg-amqplib, }; 设置 // {app_root}/config/config.default.js exports.amqplib {client:…

Zero-shot learning for requirements classification: An exploratory study

Zero-shot learning for requirements classification: An exploratory study A B S T R A C T 背景:需求工程(RE)研究人员一直在试验机器学习(ML)和深度学习(DL)方法来完成一系列的需求工程任务,比如需求分类、需求跟踪、歧义检测和建模。然而,今天的…

VSCode上通过C++实现单例模式

单例模式实际上就是为了确保一个类最多只有一个实例,并且在程序的任何地方都可以访问这个实例,也就是提供一个全局访问点,单例对象不需要手动释放,交给系统来释放就可以了,单例模式的设计初衷就是为了在整个应用程序的…