当前位置:   article > 正文

鸿蒙开发HTTP‘request data error‘问题解决_鸿蒙网络请求

鸿蒙网络请求

前言

鸿蒙开发中,如果你使用了不安全的明文流量(cleartext traffic),即非加密的网络请求,而未在清单文件中进行相应的配置,就可能遇到"HTTP request data error的问题。

请求源码

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

export function httpRequestGet(url: string) {
  let httpRequest = http.createHttp() //导入http模块
  httpRequest.on('headerReceive', (header) => {
    console.info('header: ' + JSON.stringify(header));
  })
  let promise = httpRequest.request(
    url, //请求地址
    {
      //请求方式
      method: http.RequestMethod.GET,
      //连接超时时间 60s
      connectTimeout: 60000,
      //读取超时时间 60s
      readTimeout: 60000,
      //添加header此案系
      header:{
        'Content-Type': 'application/json',
      }
    })
  promise.then((data) =>{
    if(data.responseCode === http.ResponseCode.OK){
      console.info('Result:' + JSON.stringify(data.result))
    }
  }).catch((error) =>{
    console.info('error:' + JSON.stringify(error));
  })
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
import '../utils/HttpUtils';
import { httpRequestGet } from '../utils/HttpUtils';

httpRequestGet('http://***')

@Entry
@Component
struct httpPage{
  build() {

  }
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

进行本地调试报错’ request data error ',但这个地址在浏览器打开是有json数据的

 app Log: http请求异常:{"code":200,"data":"request data error"}
  • 1

解决步骤

要解决这个问题,需要在应用的清单文件(config.json)中添加相应的配置,以允许明文流量的网络请求

  1. 打开清单文件
    首先,使用你的文本编辑器打开应用的清单文件,一般命名为config.json。
  2. 添加网络配置
    在module层添加:
"reqPermissions":[
      {
        "name": "ohos.permission.INTERNET"
      }
    ],
  • 1
  • 2
  • 3
  • 4
  • 5
  1. 添加明文流量配置
    在清单文件中,找到network节点,如果不存在,就在deviceConfig层添加这个节点:
  "deviceConfig": {
    "default": {
      "network": {
        "cleartextTraffic": true
      }
    }
  },
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  1. 保存并构建应用
    保存清单文件,并重新构建你的应用。确保你的网络请求现在不再报"HTTP ‘request data error’"的问题。

总结

通过在清单文件中添加相应的网络配置,特别是设置cleartextTraffic为true,你可以解决"HTTP ‘request data error’"的问题。这样,应用就能够允许使用明文流量的网络请求,但请注意这会降低应用的安全性,仅在确保网络请求安全性的情况下使用此配置。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/225573
推荐阅读
相关标签
  

闽ICP备14008679号