【问题标题】:Domain with host:port not working with node-fetch带有主机的域:端口不适用于节点获取
【发布时间】:2020-06-30 07:33:28
【问题描述】:
const response = await fetch(API_URL, {
    method: 'POST',
    body: JSON.stringify(body),
    headers: headers
})

这里API_URL = ​https://139.59.39.54:53724/business/1.0/verify

遇到错误

TypeError:仅支持绝对 URL

我虽然可能是包的问题,​​它不支持带有 IP 地址的域,所以我也尝试了nip.io .

但仍然出现同样的错误。

更新

我将dotenv 用于环境变量。因此,如果直接使用该域,我就不会再出现错误了。

const response = await fetch("​https://139.59.39.54:53724/business/1.0/verify", {
     method: 'POST',
     body: JSON.stringify(body),
     headers: headers
})

【问题讨论】:

  • 这是正确的 API_URL 吗?
  • 是的,没错。
  • 原因:连接 ECONNREFUSED 139.59.39.56:53724 ,以及邮递员连接失败,请检查API url
  • 是的,我知道问题不在于域,它工作正常。试试..
  • 更改您的域。我的意思是从您的域中删除 1.0。

标签: node.js node-fetch


【解决方案1】:

我认为您缺少使用dotenv读取环境变量,例如调用require('dotenv').config();

因为dotenv 可以理解API_URL = ​https://139.59.39.54:53724/business/1.0/verify 认为API_URL 是一个字符串。因此,您从process.env.API_URL 读取的API_URL 现在是empty,这可能会导致错误。

请确保您在阅读process.env.API_URL之前致电require('dotenv').config();

【讨论】:

  • 不,这不是问题,如果在函数中记录该变量,我会得到相同的 url。
  • 你能分享你的完整代码吗?我做了一个简单的例子,效果很好:P
猜你喜欢
  • 2022-07-03
  • 1970-01-01
  • 2015-11-30
  • 2023-01-21
  • 1970-01-01
  • 2011-02-05
  • 2021-12-10
  • 2015-05-27
  • 2020-09-11
相关资源
最近更新 更多