javascript - 公理错误 : getaddrinfo ENOTFOUND

标签 javascript node.js curl axios

我是新手,正在学习使用 API。我在使用 axios 时收到 POST 请求错误。

docs我想交互的 API,他们给出了 curl 示例。

curl -X POST https://ssuploader.streamsb.com/upload/01
 -d "api_key=948324jkl3h45h"
 -d "@path/filename.mp4"
 -H "Content-Type: application/x-www-form-urlencoded"

我正在尝试使用 axios 发出该 POST 请求。我写了这样一个简单的脚本。

const axiosConfig = {
    headers : { 
        "Content-Type": "application/x-www-form-urlencoded"
    }
}
const file = __dirname + "/video/Video.mp4";
const fileData = fs.readFileSync(file);
const data = `api_key=${API_KEY}&${fileData}`;

axios.post('https://ssuploader.streamsb.com/upload/01', data, axiosConfig).then((result) => {
  console.log(result.data);  
}).catch((err) => {
    console.log("Getting Error : ", err);
});

我遇到了这个错误。

Getting Error :  AxiosError: getaddrinfo ENOTFOUND ssuploader.streamsb.com

我对与 API 交互真的很陌生,所以我认为在将 curl 转换为 axios 时我的某些结构是错误的。我真的不知道该怎么办。我的意思是我无法弄清楚我的错误。谁能帮我?非常感谢。


一些变化

我在答案的帮助下弄清楚了我的一些错误。我忘了先获取服务器。所以我更新了我的代码。

const file = __dirname + "/video/Video.mp4";
const fileData = fs.createReadStream(file);
const formData = new FormData();
formData.append('file', fileData);
formData.append('api_key', API_KEY);
console.log(formData)


axios.get(`https://api.streamsb.com/api/upload/server?key=${API_KEY}`).then(result => {
    const url = result.data.result;
    axios.post(url, formData, axiosConfig)
  .then((result) => {
    console.log(result.data);
  }).catch((err) => {
    console.log("Getting Error : ", err);
  });

})

但是我得到了新的错误。

AxiosError: Request failed with status code 400

最佳答案

据我从文档中了解到,这是一个两步过程。首先,您需要获取上传 URL(他们称之为服务器),然后使用它来上传您的文件。

所以使用这样的东西:

axios.get(`https://api.streamsb.com/api/upload/server?key=${API_KEY}`).then((result) => {
  const url = result.data.result;
  // your post request to this url here
}).catch((err) => {
    console.log("Getting Error : ", err);
});

关于javascript - 公理错误 : getaddrinfo ENOTFOUND,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75085050/

相关文章:

JavaScript 更新页面而不是更新字段

javascript - 无法隐藏标签 'behind' 旋转的 D3 Globe

javascript - 如何将单个 SQL OR 运算符应用于 Sequelize 中的表及其关联表?

javascript - 如何在左右 Pane div 折叠时将主容器 div 宽度扩展为 100%

javascript - 单独上传多个文件

node.js - Webpack 4 devServer HMR 以及其他文件更改(如 View )的完全重新加载

node.js - 在 Windows Azure 上的子文件夹下托管 Ghost 博客的共享链接问题

php - 安装 WordPress 插件时出现 cURL 错误 60

PHP Curl 异步响应

elasticsearch - Elasticsearch查询问题-[范围]格式错误的查询,预期[END_OBJECT],但发现[FIELD_NAME]