从Get请求中获取响应URL

Get Response URL from GET Request

本文关键字:响应 URL 获取 Get 请求      更新时间:2023-09-26

使用请求节点库发出GET请求,并且想知道如何从返回的响应中获取URL。

之类的
var request = require('request');
request('http://www.somewebsite.com', function (error, response, body) {
  if (!error && response.statusCode == 200) {
    console.log(body) // grab the url here
  }
})

假设返回的响应不是www.somewebsite.com而是重定向

从文档开始。搜索redirect,你会发现:

followRedirect -遵循HTTP 3xx响应作为重定向(默认:true)。此属性也可以作为函数实现,该函数将响应对象作为单个参数获取,如果需要继续重定向,则返回true,否则返回false。

注意状态码。只有在重定向被执行后,您才能获得200

因此:

var request = require('request');
request({
        uri: 'http://google.com',
        followRedirect: function(response) {
            console.log("Redirecting to " + response.headers.location);
            return true;
        }
    },
    function(error, response, body) {
        if (!error && response.statusCode == 200) {
            console.log(body)
        }
    }
);