如何使用 node.js 在重定向 url 中获取元素

Posted

技术标签:

【中文标题】如何使用 node.js 在重定向 url 中获取元素【英文标题】:how can I get an element in a redirect url using node.js 【发布时间】:2020-06-24 18:15:18 【问题描述】:

非英语国家,请原谅我的拼写错误。

比如我想先将url1(http://localhost:3000/api/song/167278)重定向到url2(http://localhost:4000/api/song/167278)来使用url2的api。而url2会响应一个json文件,可以在postman的面板中看到。

(postman's pannel)

但可能有很多元素,我只想要文件中的一个元素,例如data[0].url。当人们访问 http://localhost:3000/api/song/167278 时,我如何才能返回只返回 url 值(此 json 中的 data[0].url)。

我现在正在使用 express.js,我该如何编辑它?或者有没有其他方法?

app.get('api/song/:id', async (req, res) => 
  try 
    const  id  = req.params
    url = "http://localhost:4000/api/song/" + id
    res.redirect(url)
  
  catch (e) 
    console.log(e)
   

【问题讨论】:

更新您想要的问题,以便我们轻松为您提供帮助 您可以在那里proxy 整个请求或在您的请求处理程序中获取localhost:4000/api/song/1(使用node-fetch 或axios 或node's APIs 并将您想要返回的字段发送回客户端为 json。 @cubrr 谢谢,兄弟。我使用 fetch 来获取字段。写一个答案,我采纳。 没问题!我很高兴能帮上忙! 我已经为此困扰了5个小时。我在 Stack Overflow 发布后 3 小时内得到了解决方案。快乐的!非常感谢! 【参考方案1】:

您可以proxy 那里的整个请求或在您的请求处理程序中获取localhost:4000/api/song/1(使用node-fetch 或axios 或node's APIs 并将您想要的字段作为json 发送回客户端。

【讨论】:

以上是关于如何使用 node.js 在重定向 url 中获取元素的主要内容,如果未能解决你的问题,请参考以下文章

node.js 请求获取重定向链

在重定向期间将令牌从 API 传递到前端

将 set-cookie 标头发送到 node.js 中的重定向 url

如何在重定向后通过wget下载文件名

Google OAuth 2 和 state 参数值需要在重定向 url 中注册

使用 JavaScript/jQuery 在重定向上发送 POST 数据? [复制]