赞
踩
在鸿蒙开发中,如果你使用了不安全的明文流量(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));
})
}
import '../utils/HttpUtils';
import { httpRequestGet } from '../utils/HttpUtils';
httpRequestGet('http://***')
@Entry
@Component
struct httpPage{
build() {
}
}
进行本地调试报错’ request data error ',但这个地址在浏览器打开是有json数据的
app Log: http请求异常:{"code":200,"data":"request data error"}
要解决这个问题,需要在应用的清单文件(config.json)中添加相应的配置,以允许明文流量的网络请求。
"reqPermissions":[
{
"name": "ohos.permission.INTERNET"
}
],
"deviceConfig": {
"default": {
"network": {
"cleartextTraffic": true
}
}
},
通过在清单文件中添加相应的网络配置,特别是设置cleartextTraffic为true,你可以解决"HTTP ‘request data error’"的问题。这样,应用就能够允许使用明文流量的网络请求,但请注意这会降低应用的安全性,仅在确保网络请求安全性的情况下使用此配置。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。