2016-09-10 7 views
-2

Использование библиотеки узлов запросов для создания запросов GET и задание вопроса о том, как захватить URL-адрес из возвращаемого ответа.Получить ответ URL из запроса GET

Что-то вроде

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 но редирект.

+0

Это не ясно, что вы ищете. Вы говорите, что вы * не хотите автоматически перенаправлять и хотите получить вместо этого заголовок 'Location'? – mscdex

+0

Ну, во-первых, при переадресации код состояния будет _not_ быть 200. И URL-адрес, конечно, находится в заголовке 'Location'. – CBroe

ответ

0

Начало работы the documentation. Поиск его перенаправлять и вы найдете:

followRedirect - следовать HTTP 3xx ответов как переадресовывает (по умолчанию: правда). Это свойство также может быть реализовано как функция, которая получает объект ответа как один аргумент и должна возвращать 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) 
     } 
    } 
); 
+0

Большое спасибо. – user2085143

Смежные вопросы