← 返回首页
网络

🌐 HTTP 网络请求

展示如何在HarmonyOS应用中进行网络请求,包括GET、POST、文件上传等

API级别: API 9+ | 项目路径: HarmonyOS_NEXT/Connectivity/Http

📋 项目简介

HTTP示例展示了网络请求的基本用法,包括请求参数配置、响应处理、错误处理等。

核心功能

💻 核心代码示例

1. 创建HTTP请求

import http from '@ohos.http';

let httpRequest = http.createHttp();

2. GET请求

async get(url: string): Promise {
  try {
    let response = await httpRequest.request(
      url,
      {
        method: http.RequestMethod.GET,
        header: { 'Accept': 'application/json' },
        connectTimeout: 30000,
        readTimeout: 30000
      }
    );
    
    if (response.responseCode === 200) {
      return JSON.parse(response.result as string);
    }
  } finally {
    httpRequest.destroy();  // 必须释放资源
  }
}

3. POST请求

async post(url: string, data: object): Promise {
  let httpRequest = http.createHttp();
  
  try {
    let response = await httpRequest.request(
      url,
      {
        method: http.RequestMethod.POST,
        header: { 'Content-Type': 'application/json' },
        extraData: JSON.stringify(data)
      }
    );
    
    return JSON.parse(response.result as string);
  } finally {
    httpRequest.destroy();
  }
}

🔧 请求方法枚举

方法说明
GET获取数据
POST提交数据
PUT更新数据
DELETE删除数据
HEAD获取头部
PATCH部分更新

📊 响应码处理

响应码说明处理方式
200成功解析响应数据
201创建成功返回新资源
400请求错误检查请求参数
401未授权跳转登录
404资源不存在提示用户
500服务器错误提示重试

⚠️ 注意事项

• 必须在finally中调用destroy()释放资源

• 合理设置connectTimeout和readTimeout

• 需要在module.json5中配置INTERNET权限

• 建议做好错误处理和重试机制

🔗 参考资料

📎 官方仓库链接