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,它应该包括以下字段:
- Base URL(或者当没有设置 base URL 时只是 URI/URL)
- URL(或 URI)
- 查询字符串参数
实际上,您可以在创建请求时通过存储请求轻松做到这一点。
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
});
如何从使用 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,它应该包括以下字段:
- Base URL(或者当没有设置 base URL 时只是 URI/URL)
- URL(或 URI)
- 查询字符串参数
实际上,您可以在创建请求时通过存储请求轻松做到这一点。
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
});