HarmonyOS鸿蒙Next中有人能详细的解答一下如何去网络请求吗?

HarmonyOS鸿蒙Next中有人能详细的解答一下如何去网络请求吗? 用DevEco Studio5.1.0 API 18

2 回复

鸿蒙Next网络请求使用@ohos.net.http模块。创建http.HttpRequest对象后,通过request()方法发起请求。需配置请求地址、方法和参数,支持GET、POST等。响应处理通过回调函数获取状态码和返回数据。注意在module.json5中声明ohos.permission.INTERNET网络权限。异步操作使用Promise或async/await处理。

更多关于HarmonyOS鸿蒙Next中有人能详细的解答一下如何去网络请求吗?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS Next(API 18)中,网络请求主要通过[@ohos](/user/ohos).net.http模块实现。以下是详细步骤:

  1. 导入模块

    import http from '[@ohos](/user/ohos).net.http';
    
  2. 创建HTTP请求

    let httpRequest = http.createHttp();
    
  3. 发起GET请求示例

    let url = 'https://example.com/api/data';
    httpRequest.request(
      url,
      {
        method: http.RequestMethod.GET,
        connectTimeout: 60000,
        readTimeout: 60000,
      }, (err, data) => {
        if (!err) {
          console.info('Response: ' + data.result);
        } else {
          console.error('Error: ' + JSON.stringify(err));
        }
      }
    );
    
  4. 发起POST请求示例

    httpRequest.request(
      url,
      {
        method: http.RequestMethod.POST,
        header: { 'Content-Type': 'application/json' },
        extraData: JSON.stringify({ key: 'value' }),
        connectTimeout: 60000,
        readTimeout: 60000,
      }, (err, data) => {
        if (!err) {
          console.info('Response: ' + data.result);
        } else {
          console.error('Error: ' + JSON.stringify(err));
        }
      }
    );
    
  5. 权限配置: 在module.json5中添加网络权限:

    {
      "module": {
        "requestPermissions": [
          {
            "name": "ohos.permission.INTERNET"
          }
        ]
      }
    }
    

注意事项:

  • 使用request方法时需处理回调中的错误。
  • 超时时间可根据需求调整。
  • 对于HTTPS请求,系统会自动处理证书验证。

以上代码适用于HarmonyOS Next API 18,可在DevEco Studio 5.1.0中直接使用。

回到顶部