为什么我无法连接到本地 Kirby API?
Why can't I connect to my local Kirby API?
我正在尝试从另一个后端(用 Node.js 编写)向我的 Kirby API 发出 api 请求,但我尝试的所有操作都导致 ECONNREFUSED。我做错了什么?
const res = await fetch(`${apiUrl}/auth`, {
headers: {
'Authorization': `Basic ${Buffer.from(`${username}:${password}`).toString('base64')}`,
'Content-Type': 'application/json'
}
})
我试过 HTTP 和 HTTPS,我试过不同的端点,它们都给我相同的结果。
相比之下,直接使用我的浏览器获取相同的 URL 为我提供了一个 JSON 响应,说我未经授权(预期)。
为什么以编程方式发出请求时它不起作用?
我的 config.php 中有这个,但如果可以的话我想删除 allowInsecure :
'api' => [
'basicAuth' => true,
'allowInsecure' => true,
],
对如何解决此问题有任何想法吗?
Kirby 的新手,如果这是一个新手问题,请原谅。
这是我得到的具体错误:FetchError: request to http://localhost:8000/api/auth failed, reason: connect ECONNREFUSED 127.0.0.1:8000
显然,解决方案是使用 php -S 0.0.0.0:8000
而不是 php -S localhost:8000
启动 Kirby,然后通过 http://0.0.0.0:8000/api
而不是 http://localhost:8000/api
到达 API .
我正在尝试从另一个后端(用 Node.js 编写)向我的 Kirby API 发出 api 请求,但我尝试的所有操作都导致 ECONNREFUSED。我做错了什么?
const res = await fetch(`${apiUrl}/auth`, {
headers: {
'Authorization': `Basic ${Buffer.from(`${username}:${password}`).toString('base64')}`,
'Content-Type': 'application/json'
}
})
我试过 HTTP 和 HTTPS,我试过不同的端点,它们都给我相同的结果。
相比之下,直接使用我的浏览器获取相同的 URL 为我提供了一个 JSON 响应,说我未经授权(预期)。
为什么以编程方式发出请求时它不起作用?
我的 config.php 中有这个,但如果可以的话我想删除 allowInsecure :
'api' => [
'basicAuth' => true,
'allowInsecure' => true,
],
对如何解决此问题有任何想法吗?
Kirby 的新手,如果这是一个新手问题,请原谅。
这是我得到的具体错误:FetchError: request to http://localhost:8000/api/auth failed, reason: connect ECONNREFUSED 127.0.0.1:8000
显然,解决方案是使用 php -S 0.0.0.0:8000
而不是 php -S localhost:8000
启动 Kirby,然后通过 http://0.0.0.0:8000/api
而不是 http://localhost:8000/api
到达 API .