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)