Node.js Spotify API搜索返回一个301

Node.js Spotify API搜索返回一个301,node.js,spotify,http-status-code-301,Node.js,Spotify,Http Status Code 301,我正在学习node,我正在尝试使用spotifyapi搜索并返回一个艺术家。页面加载了所有内容,但是当我尝试搜索时,我得到了这个错误 undefined:1 <html> ^ SyntaxError: Unexpected token < at Object.parse (native) at IncomingMessage.<anonymous> (/Users/edwinzhang/Node_Courses/spotify-recommend/

我正在学习node,我正在尝试使用spotifyapi搜索并返回一个艺术家。页面加载了所有内容,但是当我尝试搜索时,我得到了这个错误

undefined:1
<html> 
^
SyntaxError: Unexpected token <
    at Object.parse (native)
    at IncomingMessage.<anonymous> (/Users/edwinzhang/Node_Courses/spotify-recommend/server.js:23:25)
    at IncomingMessage.EventEmitter.emit (events.js:117:20)
    at _stream_readable.js:920:16
    at process._tickCallback (node.js:415:13)
response.on('data',function(chunk).
中,chunk正在返回

<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<center><h1>301 Moved Permanently</h1></center>
 <hr><center>nginx</center>
</body>
</html>

301永久搬迁
301永久搬迁

nginx

请求的路径(应该是)api.spotify.com/v1/search?q=sam&limit=1&type=artist。有人知道我为什么会出现这个错误吗?谢谢!

所以我决定坐下来启动IntelliJ来看看您的问题。我不确定为什么(节点不是我的主要开发平台),但是是的,这是一个http/https问题。需要更熟悉node的人来解释

如果我需要http并尝试这样做,我会收到您看到的响应。

如果我切换到包含https,它将按预期工作

不幸的是,我不知道它的“原因”。我已经有一段时间没有在node工作了,所以我有点生疏,但至少有一个可行的解决方案

后续行动:

默认情况下,http似乎不会遵循重定向。您必须改用请求模块,并且有一个选项可以设置为指定遵循重定向


您没有指定,是使用HTTPS还是HTTP?您提供的URL是有效的。您可以将其粘贴到浏览器中并验证是否收到结果。但是,如果您提供非SSL URL,spotify将301响应请求并将请求转发到HTTPS等效项。这可能与您尝试的内容有关,也可能与我所了解的内容无关Seed spotify正在为您处理URL重写。还有一些需要检查的地方。@Khepri啊,我明白了。我正在使用HTTP。似乎URL自动重定向到HTTPS。这是我出错的原因吗?只是观察。可能相关,也可能不相关。我会尝试将API调用中的URL更改为HTTPS,以消除301重定向,并查看您的结果改变。可能不是问题,但…消除过程。这是相关的,请使用HTTPS。(我在Spotify工作)
<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<center><h1>301 Moved Permanently</h1></center>
 <hr><center>nginx</center>
</body>
</html>