Как делать HTTP-запросы с помощью модуля запросов Node.js?

Kak Delat Http Zaprosy S Pomos U Modula Zaprosov Node Js



HTTP-запросы являются наиболее важной и неотъемлемой частью любого интерактивного приложения. Эти запросы управляют передачей данных между клиентом и сервером. Если пользователю требуются данные о конкретном запросе, он отправит запрос, и ответ на этот запрос, содержащий необходимые данные, будет отправлен с сервера. Вся эта процедура зависит от или использует « HTTP запросы, которые можно создать с помощью внешних модулей, таких как « запрос ».

В этом руководстве объясняется процедура создания HTTP-запросов с помощью модуля запросов Node.js, охватывая следующие разделы:

Как делать HTTP-запросы с помощью модуля запросов Node.js?







Альтернативы модуля запросов Node.js



Заключение



Как выполнять HTTP-запросы с помощью модуля запросов Node.js?

« запрос ” — самый простой модуль, который помогает отправлять или получать HTTP-запросы. Этот модуль слишком прост и понятен, но он предоставляет разработчикам очень мало свободы. Более того, разработчик не может легко изменить его базовую функциональность или улучшить предоставляемые функции.





Примечание: Хотя ' запрос »- хороший модуль. Однако его создатели решили прекратить работу над этим модулем, и 11 февраля 2020 года он был полностью устарел.

Однако, если вы все еще желаете получить представление о реализации этого запрос » затем выполните следующие шаги.



Шаг 1. Установка модуля «request» и инициализация проекта Node.js

Начните с инициализации « НПМ ” внутри нужного каталога, чтобы создать проект Node.js, выполнив команду:

npm инициализация - и

Вывод показывает, что «npm» был успешно инициализирован в указанном каталоге:

Затем установите необходимые « запрос ” модуль, выполнив команду:

запрос на установку npm

Вывод показывает, что установка завершена, но поскольку этот модуль устарел, поэтому «npm» отправило устаревшее предупреждение:

Шаг 2. Вставка фиктивного кода

Создать ' .js ” в каталоге проекта Node.js, это файл, в который программы вставляются и выполняются позже. Затем вставьте приведенные ниже строки кода, чтобы проиллюстрировать практическую реализацию « запрос », как показано ниже:

константа reqObj '=' требовать ( 'запрос' )

пусть baseUrl '=' 'https://jsonplaceholder.typicode.com/todos/6' ;

reqObj ( базовый URL, ( проблемы, содержание ) => {

если ( проблемы ) консоль. бревно ( проблемы )

консоль. бревно ( содержание ) ;

} ) ;

Объяснение приведенного выше блока кода следующее:

  • Во-первых, « запрос Модуль был импортирован, и его объект сохранен в новой переменной с именем « reqObj ».
  • Затем URL-адрес какого-либо онлайн-файла JSON, содержимое которого необходимо получить, передается в качестве значения для параметра « базовый URL-адрес » именованная переменная.
  • Затем « reqObj Переменная «» вызывается как конструктор, а переменная « базовый URL-адрес » передается в качестве первого параметра, а функция обратного вызова — в качестве второго параметра.
  • Внутри функции обратного вызова « если Оператор «используется для отображения любых возникших ошибок, а полученные данные также отображаются в окне консоли.

Шаг 3: Выполнение

Чтобы выполнить приведенный выше код, запустите содержащий его файл с именем « proApp.js в нашем случае с помощью команды:

узел proApp. js

Вывод после выполнения показывает, что указанные данные были получены и отображены на консоли:

Альтернативы модуля запросов Node.js

В связи с устареванием « запрос ” существует множество новых внешних модулей, которые можно использовать для выполнения аналогичных функций. Эти альтернативные модули указаны ниже:

Альтернативы Описание
выборка узла Это модуль на основе обещаний или потоков, который добавляет метод window.fetch() в Node.js.
http « http ” — это модуль по умолчанию, предоставляемый Node.js, он предоставляет несколько методов взаимодействия с http-серверами, обеспечивая при этом большую свободу.
аксиомы Чисто основано на обещаниях и потоках для выполнения HTTP-запросов через браузер как со стороны сервера, так и со стороны клиента.
получил Это очень удобная для человека и самая мощная библиотека для HTTP-запросов.
суперагент Основан на цепочках и обещаниях, обеспечивая при этом поддержку многих HTTP-клиентов высокого уровня. Он также имеет низкую кривую обучения.
согнутый Это функциональный HTTP, который возвращает функцию асинхронного типа.
сделать-принести-случиться Усовершенствованная форма « выборка узла » модуль. Теперь он включает в себя «объединение запросов», «поддержку кэширования» и многое другое.
иголка Этот модуль является самым понятным и передовым модулем. В основном он используется для получения данных путем отправки запросов к сторонним источникам.
крошечный-json-http Минималистичный HTTP-клиент, используемый для выполнения полезных данных JSON.

Теперь давайте выполним HTTP-запросы, используя некоторые модули, описанные выше.

Способ 1. Выполнение HTTP-запросов с использованием HTTP-модуля по умолчанию

« http ” является модулем по умолчанию, поскольку он автоматически устанавливается во время инициализации проекта node.js путем запуска команды “ npm инициализация ' или ' НПМ инициализация -y ». Поскольку мы уже создали проект node.js, мы пропустим шаги инициализации, показанные в начале этой статьи, и углубимся непосредственно в создание HTTP-запросов с использованием модуля «http».

В приведенном ниже фрагменте кода сервер создан, и в качестве ответа на сервер отправляется фиктивное сообщение:

константа httpObj '=' требовать ( 'http' ) ;

константа локальныйсервер '=' httpОбъект. создатьсервер ( ( ответ на запрос ) => {

ответ. писать ( «Добро пожаловать на страницу Твиттера» ) ;

ответ. конец ( ) ;

} ) ;

локальныйсервер. слушать ( 8080 , ( ) => {

консоль. бревно ( «сервер запущен с порта номер 8080». ) ;

} ) ;

В приведенном выше блоке кода:

  • Во-первых, « http Модуль был импортирован внутри текущего файла, а его объект сохранен в новой переменной с именем « httpObj ».
  • Далее сервер с именем « локальныйсервер ” создается путем вызова “ создатьСервер() ” и передав функцию обратного вызова в качестве его параметра.
  • Внутри этой функции вызовите « писать() » и назначьте ему фиктивное сообщение, которое будет отображаться на сервере. Также закройте сеанс ответа, вызвав команду « конец() », случайное фиктивное сообщение также можно вставить в скобки метода.
  • После этого заставьте этот сервер выполняться через локальный хост с номером порта « 8080 », вызвав « слушать() метод.

Выполните приведенный выше код, содержащий файл, выполнив следующую команду:

узел < имя файла. js >

Сгенерированные выходные данные подтверждают, что HTTP-запросы были выполнены через стандартный « http » модуль:

Способ 2. Создание HTTP-запроса с использованием внешнего модуля Axios

« аксиомы » — самый популярный и широко используемый модуль для выполнения HTTP-запросов в среде реального времени. Чтобы использовать этот модуль, разработчик должен сначала установить его, выполнив следующую команду:

npm установить аксиос

После выполнения команды терминал выглядит вот так:

Теперь давайте рассмотрим пример, в котором « ПОЛУЧАТЬ HTTP-запрос будет использоваться для получения данных из случайного API. Затем полученные данные также отображаются в консоли:

константа axiosObj '=' требовать ( 'аксиос' ) ;

// URL-адрес API-заполнителя JSON для выбора только части данных с идентификатором 5

константа APIURL '=' 'https://jsonplaceholder.typicode.com/todos/5' ;

//Инициализация запроса GET

аксиосОбъект. получать ( APIURL )

. затем ( ответ => {

консоль. бревно ( «Статус ответа от API:» , ответ. положение дел ) ;

консоль. бревно ( «Данные, полученные от API в ответ на запрос:» , ответ. данные ) ;

} )

. ловить ( ошибка => {

консоль. ошибка ( «Произошла ошибка:» , ошибка ) ;

} ) ;

Объяснение приведенного выше блока кода приведено ниже:

  • Сначала импортируйте « аксиомы ” и сохраните ее экземпляр в переменной с именем “ axiosObj », который действует как объект библиотеки «axios».
  • Далее создайте переменную « APIURL » и сохраните URL-адрес API, из которого необходимо получить данные. В нашем случае URL-адрес « https://jsonplaceholder.typicode.com/todos/5 », потому что мы хотим получить данные с идентификатором « 5 ».
  • Теперь с помощью « axiosObj ” вызвать “ получать() ” и передайте метод “ URL-адрес приложения ” внутри скобок этого метода.
  • Прикрепите « затем() ” метод с “ получать() ” и создайте анонимную стрелочную функцию, содержащую один параметр “ ответ ».
  • Этот ' ответ ” действует как объект, содержащий значения или данные, возвращаемые в ответ на запрос через “ получать() метод.
  • С помощью этого» ответ », получите статус запроса и содержимое, присоединив объект « положение дел ' и ' данные ключевые слова рядом с ним.
  • Наконец, прикрепите « ловить() ” метод, который отображает ошибки, если таковые возникли во время выполнения программы.

Теперь скомпилируйте приведенный выше код в среде Node.js, используя следующую команду на терминале:

узел < имя файла >

Отображаемый вывод показывает, что запрошенные данные были получены из предоставленного источника в качестве ответа и отображены в окне консоли:

Это все о выполнении HTTP-запросов с помощью модуля запросов Node.js и кратком обзоре его альтернатив.

Заключение

Чтобы сделать HTTP-запрос через « запрос ” — требуемый URL-адрес, откуда будет выполняться извлечение. Затем создается экземпляр модуля «запрос», и выбранный URL-адрес, для которого необходимо реализовать HTTP-запрос, передается в качестве первого параметра. Требуемая функция обратного вызова также используется для проверки любых возникших ошибок и получения содержимого или ответа HTTP-запроса. В этом руководстве объяснен процесс создания HTTP-запросов с использованием модуля запроса.