HarmonyOS 鸿蒙Next:axios请求框架,如何使用自定义证书
HarmonyOS 鸿蒙Next:axios请求框架,如何使用自定义证书
我们这边的服务器是使用自定义证书的,使用的 axios 进行请求。代码如下
axiosRequest() {
axios.create()
.request({
url: '省略',
headers: {
'Content-Type': 'application/json'
} as AxiosRequestHeaders,
sslCertificateManager: {
checkClientTrusted: function (data: certFramework.X509Cert) {
console.log('axiosRequest', 'checkClientTrusted')
},
checkServerTrusted: function (data: certFramework.X509Cert) {
console.log('axiosRequest', 'checkServerTrusted')
}
}
}).then(res => {
console.log('axiosRequest', '#1')
}).catch((err) => {
console.log('axiosRequest', '#2')
});
}
这边定义了 sslCertificateManager,看日志是没走checkClientTrusted 和 checkServerTrusted 方法。响应结果报 {"code":2300060,"message":"SSL peer certificate or SSH remote key was not OK"} 错误信息。应该怎么调整请求。
这边看到有个 caPath 和 clientCert 属性,自定证书是填到哪个的。还有一个就是路径要怎么填, 这边的证书是放在rawfile目录的,
同问,有没有解决啊,求助
你好,我也遇到这问题了,请问解决了吗
在HarmonyOS鸿蒙Next环境中使用axios请求框架并配置自定义证书,可以通过以下步骤实现:
-
安装axios:确保你的项目中已安装axios。若未安装,可通过npm或yarn进行安装。
-
准备自定义证书:将你的自定义证书(如.pem或.crt文件)放置在项目的合适位置。
-
配置HTTPS Agent:在发送请求前,你需要创建一个HTTPS Agent,并将自定义证书配置到该Agent中。这通常涉及到Node.js的
https
模块。const https = require('https'); const fs = require('fs'); const axios = require('axios'); const options = { ca: fs.readFileSync('path/to/your/certificate.pem') }; const agent = new https.Agent(options); axios.create({ httpsAgent: agent }).get('https://your-api-endpoint.com') .then(response => { console.log(response.data); }) .catch(error => { console.error(error); });
-
测试请求:运行你的代码,确保axios请求能够正确通过自定义证书进行HTTPS通信。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html