鸿蒙NEXT HTTP请求实战指南

鸿蒙NEXT中发起HTTP网络请求:基础实现

在鸿蒙NEXT中,网络请求通常通过@ohos.net.http模块实现。该模块提供了完整的HTTP客户端功能,支持GET、POST等常见请求方法。

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

// 创建HTTP请求对象
let httpRequest = http.createHttp();

// 配置请求参数
let url = 'https://api.example.com/data';
let requestOptions = {
  method: 'GET', // 请求方法
  header: {
    'Content-Type': 'application/json'
  }
};

// 发起请求
httpRequest.request(url, requestOptions, (err, data) => {
  if (err) {
    console.error('请求失败:', err);
    return;
  }
  console.log('响应状态码:', data.responseCode);
  console.log('响应数据:', data.result);
});

处理POST请求与JSON数据

POST请求需要额外设置请求体数据,特别是处理JSON格式数据时需注意头部设置。

let postOptions = {
  method: 'POST',
  header: {
    'Content-Type': 'application/json'
  },
  extraData: JSON.stringify({
    username: 'testUser',
    password: '123456'
  })
};

httpRequest.request('https://api.example.com/login', postOptions, (err, data) => {
  if (err) {
    console.error('登录失败:', err);
    return;
  }
  let response = JSON.parse(data.result);
  console.log('登录成功:', response.token);
});

高级请求配置与超时处理

网络请求需要配置超时时间并处理可能出现的异常情况,确保应用稳定性。

let advancedOptions = {
  method: 'GET',
  header: {
    'Cache-Control': 'no-cache'
  },
  connectTimeout: 60000, // 连接超时60秒
  readTimeout: 60000 // 读取超时60秒
};

httpRequest.request(url, advancedOptions, (err, data) => {
  if (err) {
    if (err.code === http.ResponseCode.TIMEOUT_ERROR) {
      console.error('请求超时');
    } else {
      console.error('请求错误:',
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值