Как получить значение заголовков ответа в nodejs

const URL = 'https://www.imdb.com/title/tt0816222/? 
ref_ = fn_al_tt_2 ';

(async() => {

    const response = await request({
      uri: URL,
      headers: {
        'Connection': 'keep-alive',
        'User-Agent': 'Mozilla/0.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'

      },

    });

Мне нужна помощь от этого кода. Как я могу получить значения заголовка ответа в консоли кода Visual Studio для следующего сайта.

Покажите нам, что вы пробовали?

Manzurul Hoque Rumi 06.02.2019 09:29

Пожалуйста, добавьте весь код в сам вопрос, а не в раздел комментариев.

Nico Haase 06.02.2019 09:56

если мой ответ был полезен, пожалуйста, отметьте его как правильный.

Elmer Dantas 06.02.2019 10:17

принять ответ, если найдено правильное решение.

AZ_ 06.02.2019 12:24

@Ariz, это то, что я имел в виду на самом деле ... мне не хватает этого слова в то время: D

Elmer Dantas 06.02.2019 12:50

@ElmerDantas до сих пор не отвечает. :D

AZ_ 06.02.2019 12:58

@Ariz, первый голос мог исходить от него ... в любом случае, просто интересно, удастся ли ему решить.

Elmer Dantas 06.02.2019 13:00

@ElmerDantas, он ответил на мое решение, что оно сработало, поэтому я ПРЕДПОЛАГАЮ, что это сработало.

AZ_ 06.02.2019 13:13
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
8
303
5

Ответы 5

Вы получите заголовки ответа в response.headers

Но там написано не определено?

Xing Ahmad Muneeb 06.02.2019 09:28

console.info(ответ.заголовки); Или console.info(response.headers['user-agent']); пробовал оба, но ничего не работает

Xing Ahmad Muneeb 06.02.2019 09:29

Я думаю, проблема в том, что модуль запроса не возвращает обещание. Он принимает обратный вызов. Поэтому в этом случае вы не можете использовать синтаксис асинхронного ожидания.

anuragb26 06.02.2019 09:32

так что делать? Есть ли какой-нибудь метод?

Xing Ahmad Muneeb 06.02.2019 09:32

Печатайте вот так

console.info(response.headers)

const request = require('запрос-обещание'); const приветствие = требуется ('приветствие'); постоянный URL = 'imdb.com/title/tt0816222/?ref_=fn_al_tt_2'; (async () => { const response = await request({ uri:URL, headers:{ 'Connection': 'keep-alive', 'User-Agent': 'Mozilla/0.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, как Gecko) Chrome/71.0.3578.98 Safari/537.36' }, }); console.info(response.headers); })()

Xing Ahmad Muneeb 06.02.2019 09:30

Этот код печатает заголовки:

const URL = 'https://www.imdb.com/title/tt0816222/?ref_ = fn_al_tt_2';
const request = require('request');

(async () => {

  const response = await request({
    uri: URL,
    headers: {
      'Connection': 'keep-alive',
      'User-Agent': 'Mozilla/0.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'

    },

  });
  console.info(response.headers);
})();

Просто обработайте обещание из библиотеки request

  request({
    uri: 'https://www.imdb.com/title/tt0816222/?',
    headers: /*your headers*/ 
    })
    .then(function(response){
       console.info(response.headers)
    })

То же самое с async/await

Cristian Traìna 06.02.2019 10:04

@CristianTraìna Я просто смотрю на его комментарий, где написано require('request-promise'), и предполагаю, что async/await не поддерживается, поэтому я опубликовал подход Promise.

Elmer Dantas 06.02.2019 10:11

@ElmerDantas, почему асинхронное ожидание не поддерживается с запросом-обещанием? он возвращает только обещание.

AZ_ 06.02.2019 10:25

@Ariz Я сказал «я предполагаю», что это не поддерживается. Просто предположение. Единственная причина для публикации подхода Promise.

Elmer Dantas 06.02.2019 12:19

Потому что вы просто получаете тело ответа от запроса npm.

добавить resolveWithFullResponse: true в параметры запроса.

const URL = 'https://www.imdb.com/title/tt0816222/? 
ref_ = fn_al_tt_2 ';

(async() => {

    const response = await request({
      uri: URL,
      headers: {
        'Connection': 'keep-alive',
        'User-Agent': 'Mozilla/0.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'

      },
	resolveWithFullResponse: true
    });

если вам нужны только заголовки

const URL = 'https://www.imdb.com/title/tt0816222/? 
ref_ = fn_al_tt_2 ';

(async() => {

    const {headers} = await request({
      uri: URL,
      headers: {
        'Connection': 'keep-alive',
        'User-Agent': 'Mozilla/0.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'

      },
	resolveWithFullResponse: true
    });
    
    console.info(headers)

спасибо, брат, теперь это сработало, как мы можем получить заголовки запроса вместо ответа и как мы можем получить только одно конкретное значение заголовка и сохранить его в переменной?

Xing Ahmad Muneeb 06.02.2019 11:05

теперь response.header — это просто собственный объект, поэтому вы можете просто сделать response.header['content-type'] и т.д., здесь вы получите значение заголовка content-type. обновленный ответ, если вам нужен только заголовок.

AZ_ 06.02.2019 11:19

Другие вопросы по теме