Как получить URL запроса от объекта ответа Node? - PullRequest
1 голос
/ 14 апреля 2020

Когда вы используете Node для выполнения запроса http / https (или с помощью оболочки, такой как simple-get), вы получаете обратно err, response и data объекты. Есть ли способ в обратном вызове получить исходный URL-адрес запроса, host, url и т. Д. c?

Пример (с использованием concat simple-get ):

const get = require('simple-get')

get.concat('http://example.com', function (err, res, data) {

  if (err) throw err

  console.log(res.statusCode) // 200
  console.log(res.headers) // {...}

  // i want "http://example.com" at this point
  console.log(res.uri) // undefined
  console.log(res.url) // undefined
  console.log(res.path) // undefined
  console.log(res.host) // undefined

})

1 Ответ

2 голосов
/ 14 апреля 2020

Вы можете получить некоторую информацию из нижележащего сокета (так как simple-get это просто обертка вокруг http -модуля) и из req -объекта:

get.concat('https://www.google.com/search/howsearchworks/algorithms/', (err, res, data) => {
    if (err) throw err
    console.log(res.socket.servername); // prints www.google.com
    console.log(res.req.path); // prints search/howsearchworks/algorithms
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...