Node JS请求获取原始url

Posted

技术标签:

【中文标题】Node JS请求获取原始url【英文标题】:Node JS request get original url 【发布时间】:2020-11-29 21:20:37 【问题描述】:

我在 Node JS 中循环发送这样的 GET 请求

    request(
        url : 'https://somelink.com',
        method: 'GET'
    ,
    function (error, response, body) 
        console.log(response);
    );

由于响应是异步的,是否可以在响应中获取原始请求URL?

谢谢!

【问题讨论】:

不确定您要问什么,但请查看以下链接,看看它是否适合您***.com/a/10185427/6352772。 您能再解释一下,以便我们了解您真正想要什么吗? 嗯,我只是在成功发出 GET 请求后尝试获取原始请求 URL。 【参考方案1】:

可以在 response.request 对象中获取原始请求的 href,如下所示:

const request = require("request");
request(
    url : 'https://google.com',
    method: 'GET'
,
function (error, response, body) 
    if (!error) 
        console.log("Original url:", response.request.uri.href);
        console.log("Original uri object:", response.request.uri);
    
);

您可以在 request.uri 对象中访问更多信息,例如:

console.log("Original uri:", response.request.uri);

这将为您提供一些更有用的信息,例如端口、路径、主机等。

【讨论】:

我添加了这个但我得到:“Caught exception: TypeError: Cannot read property 'request' of undefined” 哦,非常感谢您尝试我的回答!是否有可能填充错误对象?您是否尝试过使用有效的网址,例如'jsonplaceholder.typicode.com/users/2' ? 我用 'google.com' 替换了 URL,我得到了同样的错误。 抱歉,我已经更新了答案,你现在可以试试。谢谢!

以上是关于Node JS请求获取原始url的主要内容,如果未能解决你的问题,请参考以下文章

node.js 请求获取重定向链

无法在 Node.js res.body 中获取 $http.post 请求数据

如何获取 Firebase 函数请求的原始 URL?

Node.js GET/POST请求

Node.js服务器开发(上)

通过 Node.js 路由 http 请求