如何从标头中收到的网址中获取参数?

时间:2019-02-20 23:41:24

标签: node.js express http-headers

我正在尝试从响应中的标头中收到的url中获取一些参数。具体来说,主机以标头(而非正文)中的数据作为响应。

要从标题中获取值,请使用以下代码:

let header = req.get('location');

其中“位置”是“键”,“值”是“ http://examplesite.com/oauth?code=1234&state=4321”。

我需要从网址中获取值“ code”和“ state”,除了substring(),search(),...之外,我还可以尝试其他解决方案吗?由于可以发送不同的uri和参数,因此我放弃了这些选项。

我正在使用nodejs 10并表示4。

1 个答案:

答案 0 :(得分:1)

使用url内置模块。特别是将parseQueryString设置为true的url.parse()方法。

var url = require('url');

var stringUrl = req.get('location'); //'http://examplesite.com/oauth?code=1234&state=4321';

var { code, state } = url.parse(stringUrl, true).query;
console.log("Code "+code, "State "+state); //Code 1234 State 4321