fetch returns empty body, json 有效,但纯文本无效
fetch returns empty body, json works, but plain text doesn't
我正在尝试创建一个函数,其中 return 来自我的 pihole 服务器的最新被阻止的域。
我首先创建了一个 JSON 调用,因为我需要的第一个调用是 JSON 格式,这一切正常,我得到了所需的数据。
但是,我需要的第二个功能是获取纯文本数据,但那个功能不起作用,它只是 return 一个空的 body []
.
这是函数
socket.on("pihole_last", function() {
setInterval(function() {
let settings = {
method: "Get",
headers: {
"Accept": "text/html"
}
};
fetch('http://domain/admin/api.php?recentBlocked', settings)
.then(res => res.text())
.then((data) => {
console.log(data);
}).catch(error => {
return error;
});;
}, 1000)
});
JSON 函数看起来几乎一样,唯一真正不同的是 header accept 和 res.text()
应该以纯文本格式获取数据?
从 URL 编辑的数据 return 是纯文本域,没有标签,什么都没有。
根据 pi-hole GIT 中的 issue,您应该提供某种形式的身份验证。您在评论中链接的问题已有 5 年历史,当时这是一种意外行为。
如果我理解正确,API description 一种授权方式应该使用此 url:
http://domain/admin/api.php?recentBlocked?auth=YOUR_TOKEN
YOUR_TOKEN
应该在:
Authorization & Token required (see WEBPASSWORD in /etc/pihole/setupVars.conf)
我正在尝试创建一个函数,其中 return 来自我的 pihole 服务器的最新被阻止的域。
我首先创建了一个 JSON 调用,因为我需要的第一个调用是 JSON 格式,这一切正常,我得到了所需的数据。
但是,我需要的第二个功能是获取纯文本数据,但那个功能不起作用,它只是 return 一个空的 body []
.
这是函数
socket.on("pihole_last", function() {
setInterval(function() {
let settings = {
method: "Get",
headers: {
"Accept": "text/html"
}
};
fetch('http://domain/admin/api.php?recentBlocked', settings)
.then(res => res.text())
.then((data) => {
console.log(data);
}).catch(error => {
return error;
});;
}, 1000)
});
JSON 函数看起来几乎一样,唯一真正不同的是 header accept 和 res.text()
应该以纯文本格式获取数据?
从 URL 编辑的数据 return 是纯文本域,没有标签,什么都没有。
根据 pi-hole GIT 中的 issue,您应该提供某种形式的身份验证。您在评论中链接的问题已有 5 年历史,当时这是一种意外行为。
如果我理解正确,API description 一种授权方式应该使用此 url:
http://domain/admin/api.php?recentBlocked?auth=YOUR_TOKEN
YOUR_TOKEN
应该在:
Authorization & Token required (see WEBPASSWORD in /etc/pihole/setupVars.conf)