gpt4 book ai didi

javascript - node.js https 获取请求

转载 作者:行者123 更新时间:2023-12-05 05:55:06 25 4
gpt4 key购买 nike

我正在尝试在我的后端 node.js 网络应用程序中发出 http 请求。我可以像这样在前端 Web javascript 文件上发出成功的 http 请求:

            $.ajax({
url: `https://api.spotify.com/v1/artists/${artistId}/albums`,
type: 'GET',
contentType: 'application/json',
headers: {
'Authorization': 'Bearer ' + globalAccesToken,
},
data: {
offset: offset,
}
}).done(function callback(response) {

resolve(response.items)

}).fail(async function (error) {
getArtistAlbums(artistId, offset, onlyReturnTracks))
});

并遵循本指南: https://nodejs.dev/learn/make-an-http-post-request-using-nodejs

我一直在尝试在 node.js 后端发出相同的请求:

    //get access token
let accessToken = await spotifyAuth.getAccessToken();

//create data
const data = JSON.stringify({
offset: 0,
})

//create options data obj
const options = {
hostname: 'https://api.spotify.com',
path: '/v1/artists/1XqqyIQYMonHgllb1uysL3/albums',

//url: 'https://api.spotify.com/v1/artists/1XqqyIQYMonHgllb1uysL3/albums',
method: 'GET',
headers: {
'Authorization': 'Bearer ' + accessToken,
},
}

const req = https.request(options, res => {
console.log(`proxyiprequest() statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
})
})

req.on('error', error => {
console.error('proxyiprequest() err=', error)
})

req.write(data)
req.end()

但是运行上面的请求以这个错误结束:

proxyiprequest() err= { Error: getaddrinfo ENOTFOUND https://api.spotify.com https://api.spotify.com:443
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:56:26)
errno: 'ENOTFOUND',
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'https://api.spotify.com',
host: 'https://api.spotify.com',
port: 443 }

我设置 url/路径设置的方式有问题吗?

最佳答案

Node https 模块有一个名为 protocol 的单独选项.所以在请求选项中,你不应该包括 https://http://

您的options 变量将变为:

const options = {
hostname: 'api.spotify.com',
path: '/v1/artists/1XqqyIQYMonHgllb1uysL3/albums',
method: 'GET',
headers: {
'Authorization': 'Bearer ' + accessToken,
},
}

关于javascript - node.js https 获取请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69535451/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com