Jak wysyłać żądania HTTP za pomocą modułu żądań Node.js?

Jak Wysylac Zadania Http Za Pomoca Modulu Zadan Node Js



Żądania HTTP są najważniejszą i integralną częścią każdej interaktywnej aplikacji. Żądania te obsługują przesyłanie danych pomiędzy klientem a serwerem. Jeśli użytkownik potrzebuje danych na temat konkretnego zapytania, wyśle ​​żądanie, a odpowiedź na to żądanie zawierająca wymagane dane zostanie wysłana z serwera. Cała ta procedura zależy od lub wykorzystuje „ HTTP ” żądania, które można utworzyć za pomocą modułów zewnętrznych, takich jak „ wniosek ”.

W tym przewodniku wyjaśniono procedurę tworzenia żądań HTTP za pomocą modułu żądań Node.js, omawiając poniższe sekcje:

Jak wysyłać żądania HTTP za pomocą modułu żądań Node.js?







Alternatywy dla modułu żądań Node.js



Wniosek



Jak wysyłać żądania HTTP za pomocą modułu żądań Node.js?

wniosek ” to najprostszy moduł, który pomaga w wysyłaniu lub pobieraniu żądań HTTP. Ten moduł jest zbyt prosty i łatwy do zrozumienia, ale zapewnia programistom bardzo małą swobodę. Co więcej, programista nie może łatwo zmodyfikować jego podstawowej funkcjonalności ani ulepszyć dostarczonych funkcji.





Notatka: Chociaż ' wniosek ” to dobry moduł. Jednak jego twórcy postanowili zaprzestać prac nad tym modułem i 11 lutego 2020 r. został on całkowicie wycofany.

Jeśli jednak nadal chcesz poznać pomysł na wdrożenie tego „ wniosek ”, a następnie wykonaj poniższe kroki.



Krok 1: Instalacja modułu „request” i inicjalizacja projektu Node.js

Zacznij od zainicjowania „ npm ” w żądanym katalogu, aby utworzyć projekt Node.js, uruchamiając polecenie:

inicjacja npm - I

Dane wyjściowe pokazują, że „npm” został pomyślnie zainicjowany w podanym katalogu:

Następnie zainstaluj wymagane „ wniosek ” wykonując polecenie:

żądanie instalacji npm

Dane wyjściowe pokazują, że instalacja została zakończona, ale ponieważ ten moduł jest przestarzały, dlatego „npm” wysłał przestarzałe ostrzeżenie:

Krok 2: Wstawianie fikcyjnego kodu

Stwórz ' .js ” wpisz plik w katalogu projektu Node.js, jest to plik, w którym programy są wstawiane i uruchamiane później. Następnie wstaw poniższe linie kodu, aby zilustrować praktyczną implementację „ wniosek ”, jak pokazano poniżej:

konst reqObj = wymagać ( 'wniosek' )

niech baseUrl = „https://jsonplaceholder.typicode.com/todos/6” ;

reqObj ( bazowy adres URL, ( zagadnienia, treść ) => {

Jeśli ( kwestie ) konsola. dziennik ( kwestie )

konsola. dziennik ( treść ) ;

} ) ;

Wyjaśnienie powyższego bloku kodu jest następujące:

  • Po pierwsze ' wniosek ” moduł został zaimportowany, a jego obiekt jest zapisany w nowej zmiennej o nazwie „ reqObj ”.
  • Następnie adres URL pliku JSON online, którego zawartość wymaga pobrania, jest przekazywany jako wartość parametru „ bazowyUrl ” nazwana zmienna.
  • A później ' reqObj ” zmienna jest wywoływana jako konstruktor, a zmienna „ bazowyUrl ” jest przekazywana jako pierwszy parametr, a funkcja wywołania zwrotnego jako drugi parametr.
  • Wewnątrz funkcji wywołania zwrotnego, „ Jeśli ” służy do wyświetlania wszelkich występujących błędów, a pobrane dane są również wyświetlane w oknie konsoli.

Krok 3: Wykonanie

Aby wykonać powyższy kod, uruchom zawierający go plik o nazwie „ proApp.js ” w naszym przypadku za pomocą polecenia:

węzeł proApp. js

Dane wyjściowe po wykonaniu pokazują, że określone dane zostały pobrane i wyświetlone na konsoli:

Alternatywy dla modułu żądań Node.js

W związku z deprecjacją „ wniosek ”, istnieje wiele nowych modułów zewnętrznych, które można wykorzystać do realizacji podobnej funkcjonalności. Te alternatywne moduły są wymienione poniżej:

Alternatywy Opis
pobieranie węzła Jest to moduł obietnicy lub oparty na strumieniu, który udostępnia metodę window.fetch() w Node.js.
http http ” jest domyślnym modułem dostarczanym przez Node.js i zapewnia kilka metod interakcji z serwerami http, zapewniając jednocześnie większą swobodę.
osie Opiera się wyłącznie na obietnicach i strumieniach w celu wykonywania żądań HTTP za pośrednictwem przeglądarki, zarówno po stronie serwera, jak i klienta.
dostał Jest to bardzo przyjazna dla człowieka i najpotężniejsza biblioteka dla żądań HTTP.
superagent Oparty na łańcuchu i obietnicach, zapewniając jednocześnie obsługę wielu klientów HTTP wysokiego poziomu. Ma również niską krzywą uczenia się.
zgięty Jest to funkcjonalny protokół HTTP, który zwraca funkcję typu asynchronicznego.
sprawić, że się stanie Udoskonalona forma „ pobieranie węzła moduł. Obejmuje teraz „łączenie żądań”, „obsługę pamięci podręcznej” i wiele więcej.
igła Ten moduł jest najczystszym i najbardziej zaawansowanym modułem. Służy głównie do pobierania danych poprzez wysyłanie żądań do źródeł zewnętrznych.
malutki-json-http Minimalistyczny klient HTTP używany do wykonywania ładunków JSON.

Teraz wykonajmy żądania HTTP, wykorzystując niektóre moduły omówione powyżej.

Metoda 1: Wykonywanie żądań HTTP przy użyciu domyślnego modułu HTTP

http ” jest modułem domyślnym, ponieważ jest instalowany automatycznie w momencie inicjalizacji projektu node.js poprzez uruchomienie polecenia „ inicjacja npm ' Lub ' npm init -y ”. Ponieważ stworzyliśmy już projekt node.js, pomijamy kroki inicjujące pokazane na początku tego artykułu i przechodzimy bezpośrednio do tworzenia żądań http za pomocą modułu „http”.

W poniższym fragmencie kodu serwer został utworzony i w odpowiedzi do serwera wysyłana jest fikcyjna wiadomość:

konst httpObj = wymagać ( „http” ) ;

konst serwer lokalny = httpObj. utwórz serwer ( ( wymagać odpowiedzi ) => {

odpowiedź. pisać ( „Witamy na stronie na Twitterze” ) ;

odpowiedź. koniec ( ) ;

} ) ;

serwer lokalny. Słuchać ( 8080 , ( ) => {

konsola. dziennik ( „serwer został uruchomiony na porcie o numerze 8080.” ) ;

} ) ;

W powyższym bloku kodu:

  • Po pierwsze ' http ” moduł został zaimportowany do bieżącego pliku, a jego obiekt jest zapisany w nowej zmiennej o nazwie „ httpObj ”.
  • Następnie serwer o nazwie „ serwer lokalny ” jest tworzony poprzez wywołanie „ utwórz serwer() ” i przekazanie funkcji wywołania zwrotnego jako jej parametru.
  • Wewnątrz tej funkcji wywołaj „ pisać() ” i przypisz jej fałszywy komunikat, który będzie wyświetlany na serwerze. Zamknij także sesję odpowiedzi, wywołując opcję „ koniec() ”, losowy komunikat fikcyjny można również wstawić w nawiasie metody.
  • Następnie spraw, aby ten serwer działał na serwerze lokalnym o numerze portu „ 8080 ”, powołując się na „ Słuchać() ' metoda.

Wykonaj powyższy kod zawierający plik, uruchamiając poniższe polecenie:

węzeł < Nazwa pliku. js >

Wygenerowane dane wyjściowe potwierdzają, że żądania HTTP zostały wykonane za pośrednictwem domyślnego „ http moduł:

Metoda 2: Wykonywanie żądania HTTP przy użyciu zewnętrznego modułu Axios

osie ” to najpopularniejszy i najczęściej używany moduł, jeśli chodzi o realizację żądań HTTP w środowisku czasu rzeczywistego. Aby skorzystać z tego modułu, programista musi go najpierw zainstalować, wykonując poniższe polecenie:

npm zainstaluj osie

Po wykonaniu polecenia terminal wygląda następująco:

Przyjrzyjmy się teraz przykładowi, w którym „ DOSTAWAĆ ” Żądanie HTTP zostanie użyte do pobrania danych z losowego interfejsu API. Następnie odebrane dane są również wyświetlane na konsoli:

konst axiosObj = wymagać ( „osie” ) ;

// Adres URL interfejsu API zastępczego JSON Aby wybrać tylko część danych o identyfikatorze 5

konst apiUrl = „https://jsonplaceholder.typicode.com/todos/5” ;

//Inicjowanie żądania GET

axiosObj. Dostawać ( apiUrl )

. Następnie ( odpowiedź => {

konsola. dziennik ( „Stan odpowiedzi z interfejsu API to:” , odpowiedź. status ) ;

konsola. dziennik ( „Dane otrzymane z interfejsu API w odpowiedzi na żądanie:” , odpowiedź. dane ) ;

} )

. złapać ( błąd => {

konsola. błąd ( „Wystąpił błąd:” , błąd ) ;

} ) ;

Poniżej znajduje się wyjaśnienie powyższego bloku kodu:

  • Najpierw zaimportuj „ osie ” i zapisz jej instancję w zmiennej o nazwie „ axiosObj ”, który pełni rolę obiektu biblioteki „axios”.
  • Następnie utwórz zmienną „ apiUrl ” i zapisz adres URL API, z którego mają zostać pobrane dane. W naszym przypadku adres URL to „ https://jsonplaceholder.typicode.com/todos/5 ”, ponieważ chcemy pobrać dane o identyfikatorze „ 5 ”.
  • Teraz przy pomocy „ axiosObj ” przywołać „ Dostawać() ” i przekazać metodę „ adres aplikacji ” zmienna wewnątrz nawiasu tej metody.
  • Dołącz „ Następnie() ” metodą „ Dostawać() ” i utwórz anonimową funkcję strzałkową zawierającą pojedynczy parametr „ odpowiedź ”.
  • Ten ' odpowiedź ” pełni rolę obiektu zawierającego wartości lub dane zwrócone w odpowiedzi na żądanie za pośrednictwem „ Dostawać() ' metoda.
  • Za pomocą tego „ odpowiedź ”, pobierz status żądania i treść, załączając obiekt „ status ' I ' dane ” słowa kluczowe obok niego.
  • Na koniec dołącz „ złapać() ” metoda wyświetlająca błędy, jeśli takie wystąpiły podczas wykonywania programu.

Teraz skompiluj powyższy kod w środowisku Node.js, używając poniższego polecenia na terminalu:

węzeł < Nazwa pliku >

Wyświetlone dane wyjściowe pokazują, że żądane dane zostały pobrane z podanego źródła w odpowiedzi i wyświetlone w oknie konsoli:

Chodzi o tworzenie żądań HTTP za pomocą modułu żądań Node.js i szybki przegląd jego alternatyw.

Wniosek

Aby wysłać żądanie HTTP za pośrednictwem „ wniosek ”, wymagany adres URL, z którego będzie wykonywane pobieranie. Następnie tworzona jest instancja modułu „request”, a jako pierwszy parametr przekazywany jest wybrany adres URL, dla którego ma zostać zrealizowane żądanie HTTP. Wymagana funkcja wywołania zwrotnego jest również wykorzystywana do sprawdzania ewentualnych błędów i pobierania treści lub odpowiedzi na żądanie HTTP. W tym przewodniku wyjaśniono proces tworzenia żądań HTTP przy użyciu modułu żądania.