В этом руководстве объясняется процедура создания HTTP-запросов с помощью модуля запросов Node.js, охватывая следующие разделы:
Как делать HTTP-запросы с помощью модуля запросов Node.js?
Альтернативы модуля запросов Node.js
- Способ 1. Выполнение HTTP-запросов с использованием HTTP-модуля по умолчанию
- Способ 2. Создание HTTP-запроса с использованием внешнего модуля Axios
Как выполнять 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-запросов с использованием модуля запроса.