HarmonyOS 鸿蒙Next JS API网络请求,HTTPS协议网络请求成功但没获得网页数据
HarmonyOS 鸿蒙Next JS API网络请求,HTTPS协议网络请求成功但没获得网页数据 使用HTTPS访问没有问题,能访问例如百度“https://www.baidu.com/”,但log窗口输出信息没有网页数据
log窗口信息
08-28 17:14:53.682 8258-15964/com.example.baidu I 03B00/JSApp: app Log: ##Result:<!DOCTYPE html>
08-28 17:14:53.682 8258-15964/com.example.baidu I 03B00/JSApp: app Log: ##code:200
08-28 17:14:53.682 8258-15964/com.example.baidu I 03B00/JSApp: app Log: ##cookies:undefined
按理来说访问成功log窗口里应该会输出网页源码,但是没有
1.JS文件
import http from '@ohos.net.http';
export default {
data: {
title: ""
},
onInit() {
this.title = this.$t('strings.world');
},
httprequest()
{
let httpRequest = http.createHttp();
// 用于订阅http响应头,此接口会比request请求先返回。可以根据业务需要订阅此消息
// 从API 8开始,使用on('headersReceive', Callback)替代on('headerReceive', AsyncCallback). 8+
httpRequest.on('headersReceive', (header) => {
// console.info('header: ' + JSON.stringify(header));
});
httpRequest.request(
// 填写http请求的url地址,可以带参数也可以不带参数。URL地址需要开发者自定义。请求的参数可以在extraData中指定
"https://www.baidu.com/",
{
method: http.RequestMethod.GET, // 可选,默认为http.RequestMethod.GET
// 开发者根据自身业务需要添加header字段
// header: {
// 'Content-Type': 'application/json'
// },
// 当使用POST请求时此字段用于传递内容
// extraData: {
// "data": "data to send",
// },
connectTimeout: 60000, // 可选,默认为60s
readTimeout: 60000, // 可选,默认为60s
}, (err, data) => {
if (!err) {
// data.result为http响应内容,可根据业务需要进行解析
console.info('##Result:' + data.result);
console.info('##code:' + data.responseCode);
// data.header为http响应头,可根据业务需要进行解析
// console.info('##header:' + JSON.stringify(data.header));
console.info('##cookies:' + data.cookies); // 8+
} else {
console.info('##error:' + JSON.stringify(err));
// 当该请求使用完毕时,调用destroy方法主动销毁。
httpRequest.destroy();
}
}
);
}
}
2.hml文件
<div class="container">
<button class = "button" on:click="httprequest">访问</button>
</div>
更多关于HarmonyOS 鸿蒙Next JS API网络请求,HTTPS协议网络请求成功但没获得网页数据的实战教程也可以访问 https://www.itying.com/category-93-b0.html
console.log无法显示文本过长,建议使用Text进行显示在界面上
更多关于HarmonyOS 鸿蒙Next JS API网络请求,HTTPS协议网络请求成功但没获得网页数据的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
开发者您好,http网络请求使用可以参考以下链接:https://gitee.com/openharmony/app_samples/tree/master/Network/Http
针对“HarmonyOS 鸿蒙Next JS API网络请求,HTTPS协议网络请求成功但没获得网页数据”的问题,以下是专业回答:
在HarmonyOS中使用Next JS API进行HTTPS协议的网络请求时,若请求成功但未获得网页数据,可能的原因及排查方向如下:
-
响应内容为空:检查服务器是否确实返回了数据。有时服务器可能由于各种原因(如权限问题、数据为空等)返回空响应。
-
编码问题:确认接收到的数据编码格式与预期一致。如果编码不匹配,可能导致数据解析错误或显示为乱码。
-
数据解析错误:检查Next JS API中用于解析响应数据的代码是否正确。例如,如果预期返回的是JSON格式数据,确保使用正确的JSON解析方法。
-
网络问题:虽然请求成功,但可能在数据传输过程中存在丢包或数据损坏的情况。可以尝试重新发送请求以验证是否为偶发性问题。
-
服务器配置:确认服务器是否配置了正确的HTTPS证书和相关的安全策略,这些可能会影响数据的传输和接收。
如果以上排查方向均未能解决问题,请检查API文档或相关开发资料,确保使用的方法和参数均正确无误。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html