鸿蒙Next开发中非https请求是否被禁止?
在鸿蒙Next开发中,是否默认禁止非HTTPS的网络请求?如果需要使用HTTP协议进行开发测试,应该如何配置才能允许这类请求?官方是否有相关的安全策略说明或例外情况的处理方案?
2 回复
鸿蒙Next开发中,非https请求目前未被强制禁止,但会被系统温馨提醒:“亲,为了您的数据安全,建议升级到https哦~” 毕竟在互联网裸奔容易被偷看聊天记录呢!😄
更多关于鸿蒙Next开发中非https请求是否被禁止?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在鸿蒙Next开发中,非HTTPS请求默认情况下并未被完全禁止,但存在一些限制和推荐做法:
-
默认配置:
鸿蒙Next应用默认允许HTTP请求,但需在module.json5文件中声明网络权限:{ "module": { "requestPermissions": [ { "name": "ohos.permission.INTERNET" } ] } } -
安全策略限制:
若应用目标API级别较高(如≥9),系统可能默认阻止明文HTTP流量。此时需在module.json5中显式允许:{ "module": { "metadata": [ { "name": "customize_data", "value": "{\"cleartextTraffic\":true}" } ] } } -
应用商店审核:
华为应用市场可能对非HTTPS请求的应用进行更严格审核,尤其是涉及敏感数据传输时。 -
开发建议:
- 生产环境强烈建议使用HTTPS以确保数据安全
- 测试阶段可临时启用HTTP,但上架前应完成HTTPS迁移
示例网络请求代码(HTTP):
import http from '@ohos.net.http';
let httpRequest = http.createHttp();
httpRequest.request(
"http://example.com/api",
{
method: http.RequestMethod.GET,
connectTimeout: 60000,
readTimeout: 60000,
}, (err, data) => {
if (!err) {
console.info('Response:' + data.result);
} else {
console.error('Error:' + JSON.stringify(err));
}
}
);
总结:非HTTPS请求在开发阶段可用,但需注意权限配置和安全策略。为符合最佳实践,建议尽早适配HTTPS。

