получить перенаправленный URL из node.js - PullRequest
0 голосов
/ 16 апреля 2019

У меня есть URL, который будет автоматически перенаправлять на другой URL, я использую следующий код, чтобы попробовать URL, но, кажется, не работает:

var request = require('request');

var url = 'https://racing.hkjc.com/racing/information/Chinese/Trackwork/TrackworkResult.aspx?Horseno=S001';


var r = request.get(url, function (err, res, body) {
  console.log(r.uri.href);
  console.log(res.request.uri.href);
  console.log(this.uri.href);
});

, кажется, показывает старый URL, но неновые.

Что я должен сделать, чтобы получить правильный результат?

1 Ответ

0 голосов
/ 16 апреля 2019

Библиотека request автоматически выполняет перенаправления с кодами состояния 30x. Если вы получаете правильный результат, тогда он должен правильно установить href. (См. Пример ниже.) Если конечная точка, к которой вы обращаетесь, не выполняет перенаправления таким образом, вам может потребоваться передать дополнительные параметры , например followAllRedirects: true.

const request = require('request');
const options = {
    uri: 'https://racing.hkjc.com/racing/information/Chinese/Trackwork/TrackworkResult.aspx?Horseno=S001',
    headers: {
        'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Mobile Safari/537.36'
    }
};
request(options, (error, response, body) => {
    console.log(response.request.uri.href);
});
// Output: https://racing.hkjc.com/racing/information/Chinese/Trackwork/TrackworkOtherResult.aspx?HorseId=HK_2013_S001
...