NodeJS 请求库如何获取完整的 URL 包括 URI 和查询字符串参数

NodeJS request library how to get the full URL including URI and query string params

如何从使用 NodeJS request 库执行的 HTTP 请求中 extract/find 完整 URL。这对于日志记录很有用。

这里有一个代码示例来演示:

request({
    baseUrl: 'https://foo.bar',
    url: '/foobar',
    qs: {
        page: 1,
        pagesize: 25
    }
}, (err, res, body) => {
    // Somewhere here I'd expect to find the full url from one of the parameters above
    // Expected output: https://foo.bar/foobar?page=1&pagesize=25
    console.log(res);
});

我似乎无法在包含 URL.

的回调中找到 res 参数的任何属性

澄清一下:完整的URL是指由请求库构建的URL,它应该包括以下字段:

实际上,您可以在创建请求时通过存储请求轻松做到这一点。

const request = require('request');
const myReq = request({
    baseUrl: 'https://foo.bar',
    url: '/foobar',
    qs: {
        page: 1,
        pagesize: 25
    }
}, (err, res, body) => {
    console.log(myReq.host); // BASE URL
    console.log(myReq.href); // Request url with params
});