鸿蒙HarmonyOS-HTTP网络数据请求

鸿蒙HarmonyOS-HTTP网络数据请求

导入模块

import http from '@ohos.net.http';

示例

// 引入包名
import http from '@ohos.net.http';

// 每一个httpRequest对应一个HTTP请求任务,不可复用
let httpRequest = http.createHttp();
// 用于订阅HTTP响应头,此接口会比request请求先返回。可以根据业务需要订阅此消息
// 从API 8开始,使用on('headersReceive', Callback)替代on('headerReceive', AsyncCallback)。 8+
httpRequest.on('headersReceive', (header) => {
    console.info('header: ' + JSON.stringify(header));
});
httpRequest.request(
    // 填写HTTP请求的URL地址,可以带参数也可以不带参数。URL地址需要开发者自定义。请求的参数可以在extraData中指定
    "EXAMPLE_URL",
    {
        method: http.RequestMethod.POST, // 可选,默认为http.RequestMethod.GET
        // 开发者根据自身业务需要添加header字段
        header: {
            'Content-Type': 'application/json'
        },
        // 当使用POST请求时此字段用于传递内容
        extraData: {
            "data": "data to send",
        },
        expectDataType: http.HttpDataType.STRING, // 可选,指定返回数据的类型
        usingCache: true, // 可选,默认为true
        priority: 1, // 可选,默认为1
        connectTimeout: 60000, // 可选,默认为60000ms
        readTimeout: 60000, // 可选,默认为60000ms
        usingProtocol: http.HttpProtocol.HTTP1_1, // 可选,协议类型默认值由系统自动指定
    }, (err, data) => {
        if (!err) {
            // 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)); // 8+
            // 取消订阅HTTP响应头事件
            httpRequest.off('headersReceive');
            // 当该请求使用完毕时,调用destroy方法主动销毁
            httpRequest.destroy();
        } else {
            console.info('error:' + JSON.stringify(err));
            // 取消订阅HTTP响应头事件
            httpRequest.off('headersReceive');
            // 当该请求使用完毕时,调用destroy方法主动销毁。
            httpRequest.destroy();
        }
    }
);

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

相关推荐

  1. 鸿蒙HarmonyOS-HTTP网络数据请求

    2024-01-13 08:22:01       65 阅读
  2. HarmonyOS网络连接 - Http 请求数据

    2024-01-13 08:22:01       27 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-13 08:22:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-13 08:22:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-13 08:22:01       82 阅读
  4. Python语言-面向对象

    2024-01-13 08:22:01       91 阅读

热门阅读

  1. Hexo 环境搭建

    2024-01-13 08:22:01       64 阅读
  2. HarmonyOS的应用类型(FA vs Stage)

    2024-01-13 08:22:01       61 阅读
  3. 【AIOT-语音】pythoAudioOp

    2024-01-13 08:22:01       52 阅读
  4. 极智芯 | 解读自动驾驶芯片之英伟达DRIVE系列

    2024-01-13 08:22:01       57 阅读
  5. Visual Studio Code连接不上Ubuntu的解决办法

    2024-01-13 08:22:01       53 阅读
  6. LeetCode1590. Make Sum Divisible by P

    2024-01-13 08:22:01       57 阅读
  7. 【Leetcode】673.最长递增子序列的个数(Hard)

    2024-01-13 08:22:01       53 阅读
  8. python希尔排序

    2024-01-13 08:22:01       52 阅读
  9. 排序之堆排序

    2024-01-13 08:22:01       58 阅读
  10. Nacos_Linux上部署nacos

    2024-01-13 08:22:01       57 阅读