首页 > 解决方案 > 从永久移动 (301) API 中获取数据

问题描述

我正在尝试从 API 获取数据。在命令行中使用 CURL 可以工作,但我想在 ReactJS 中使用 fetch() 或 axios 来完成。我真的很努力没有成功。

curl -i -X GET -u user:pass -H "Accept:application/json" "http://sample.api.net/list"
status 301 - moved permanently
Location: https://sample.api.net:443/list

与 -i 旁边的 L 重定向我,一切都很好。

curl -iL -X GET -u user:pass -H "Accept:application/json" "http://sample.api.net/list"
status 200 OK
It works

我尝试使用 fetch 和 axios 但总是给我 301 Moved 并且无法获取。我也需要授权。

fetch("http://sample.api.net/list", {
  redirect: "follow",
  headers: {
    Accept: "application/json",
    Authorization: "Basic fdfdgdfgfd",
  },
})
  .then((response) => console.log(response))
  .catch((err) => console.log(err));

不工作:(

标签: reactjsapifetchhttp-status-code-301

解决方案


推荐阅读