> 文档中心 > HarmonyOS应用API- HTTP数据请求

HarmonyOS应用API- HTTP数据请求

  1. 获取相关权限

ohos.permission.GET_NETWORK_INFO:获取网络连接信息。

ohos.permission.SET_NETWORK_INFO:修改网络连接状态。

  1. 引入接口

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

  1. 进行数据请求

// 每一个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",

        },

        connectTimeout: 60000, // 可选,默认为60s

        readTimeout: 60000, // 可选,默认为60s

    }, (err, data) => {

        if (!err) {

            // data.result为http响应内容,可根据业务需要进行解析

            console.info('Result:' + data.result);

            console.info('code:' + data.responseCode);

            // data.header为http响应头,可根据业务需要进行解析

            console.info('header:' + JSON.stringify(data.header));

            console.info('cookies:' + data.cookies); // 8+

        } else {

            console.info('error:' + JSON.stringify(err));

            // 该请求不再使用,调用destroy方法主动销毁。

            httpRequest.destroy();

        }

    }

);