Node.js İstek Modülü ile HTTP İstekleri Nasıl Yapılır?

Node Js Istek Modulu Ile Http Istekleri Nasil Yapilir



HTTP istekleri, herhangi bir etkileşimli uygulamanın en önemli ve ayrılmaz parçasıdır; bu istekler, istemci ve sunucu tarafı arasında veri aktarımını gerçekleştirir. Kullanıcı belirli bir sorgu hakkında veriye ihtiyaç duyarsa, bir istek gönderir ve bu isteğin gerekli verileri içeren yanıtı sunucudan gönderilir. Tüm bu prosedür “ HTTP “ gibi harici modüller kullanılarak oluşturulabilen istekler rica etmek ”.

Bu kılavuz, aşağıdaki bölümleri kapsayarak Node.js İstek Modülü ile HTTP İstekleri yapma prosedürünü açıklamaktadır:

Node.js İstek Modülü ile HTTP İstekleri Nasıl Yapılır?







Node.js İstek Modülünün Alternatifleri



Çözüm



Node.js İstek Modülünü Kullanarak HTTP İstekleri Nasıl Yapılır?

rica etmek ” modülü, HTTP isteklerinin gönderilmesine veya alınmasına yardımcı olan en basit modüldür. Bu modül çok basit ve anlaşılması kolaydır ancak geliştiricilere çok az özgürlük sağlar. Üstelik geliştirici, temel işlevselliğini kolayca değiştiremez veya sağladığı özellikleri geliştiremez.





Not: Rağmen ' rica etmek ”iyi bir modül. Ancak yaratıcıları bu modül üzerinde çalışmayı bırakmaya karar verdi ve 11 Şubat 2020'de tamamen kullanımdan kaldırıldı.

Ancak yine de bunun uygulanması konusunda fikir edinmek istiyorsanız” rica etmek ” modülünden sonra aşağıda belirtilen adımları ziyaret edin.



Adım 1: “Request” Modülünü Kurma ve Node.js Projesini Başlatma

“Başlatarak başlayın” npm ” komutunu çalıştırarak bir Node.js projesi oluşturmak için istenen dizinin içindeki paketler:

npm başlangıcı - Ve

Çıktı, “npm”nin sağlanan dizinde başarıyla başlatıldığını gösterir:

Daha sonra gerekli olanı yükleyin rica etmek ” modülü komutunu çalıştırarak:

npm yükleme isteği

Çıktı, kurulumun tamamlandığını gösteriyor ancak bu modül kullanımdan kaldırıldığı için 'npm' tarafından kullanımdan kaldırılan uyarının gönderilmesinin nedeni budur:

Adım 2: Sahte Kod Ekleme

Oluşturmak ' .js Node.js proje dizininin içerisine dosya yazın, programların daha sonra ekleneceği ve çalıştırılacağı dosyadır. Ardından, '' ifadesinin pratik uygulamasını göstermek için aşağıdaki kod satırlarını ekleyin. rica etmek ” modülü aşağıda gösterildiği gibi:

yapı reqObj = gerekmek ( 'rica etmek' )

baseUrl'e izin ver = 'https://jsonplaceholder.typicode.com/todos/6' ;

reqObj ( temelUrl, ( sorunlar, içerik ) => {

eğer ( sorunlar ) konsol. kayıt ( sorunlar )

konsol. kayıt ( içerik ) ;

} ) ;

Yukarıdaki kod bloğunun açıklaması şu şekildedir:

  • İlk önce ' rica etmek ” modülü içe aktarıldı ve nesnesi “ adlı yeni bir değişkende saklandı reqObj ”.
  • Daha sonra, içeriğinin alınması gereken bazı çevrimiçi JSON dosyalarının URL'si, ' temel URL ”adlı değişken.
  • Sonra ' reqObj ” değişkeni yapıcı olarak çağrılır ve “ temel URL ” ilk parametresi olarak, geri çağırma işlevi ise ikinci parametresi olarak iletilir.
  • Geri arama fonksiyonunun içinde “ eğer Oluşan hataları görüntülemek için ” ifadesi kullanılır ve alınan veriler de konsol penceresinde görüntülenir.

Adım 3: Yürütme

Yukarıdaki kodu çalıştırmak için “adlı içeren dosyayı çalıştırın. proApp.js ” bizim durumumuzda şu komutu kullanıyoruz:

düğüm proApp. js

Yürütmeden sonraki çıktı, belirtilen verilerin alındığını ve konsol üzerinden görüntülendiğini gösterir:

Node.js İstek Modülünün Alternatifleri

Kullanımdan kaldırılması nedeniyle ' rica etmek ” modülünde, benzer işlevleri gerçekleştirmek için kullanılabilecek birçok yeni harici modül bulunmaktadır. Bu alternatif modüller aşağıda belirtilmiştir:

Alternatifler Tanım
düğüm getirme Node.js'de window.fetch() yöntemini getiren söz veya akış tabanlı bir modüldür.
http http ” modülü, Node.js tarafından sağlanan varsayılan modüldür ve daha fazla özgürlük sağlarken http sunucularıyla etkileşimde bulunmak için çeşitli yöntemler sunar.
eksenler Tamamen, hem sunucu hem de istemci tarafından tarayıcı üzerinden HTTP isteklerini gerçekleştirmeye yönelik vaatlere ve akışlara dayanmaktadır.
var Süper insan dostu ve HTTP istekleri için en güçlü kütüphanedir.
süper ajan Birçok üst düzey HTTP istemcisine destek sağlarken zincirleme ve vaatlere dayanmaktadır. Aynı zamanda düşük bir öğrenme eğrisine sahiptir.
kıvrılmış Eşzamansız tipte bir işlev döndüren işlevsel bir HTTP'dir.
gerçekleştir-getir-gerçekleştir Geliştirilmiş bir biçimi ' düğüm getirme ” modülü. Artık 'istek havuzu oluşturma', 'önbellek desteği' ve çok daha fazlasını içeriyor.
iğne Bu modül en anlaşılır ve en ileri modüldür. Çoğunlukla üçüncü taraf kaynaklara istek göndererek veri almak için kullanılır.
minik-json-http JSON yüklerini gerçekleştirmek için kullanılan Minimalist HTTP İstemcisi.

Şimdi yukarıda bahsettiğimiz bazı modülleri kullanarak HTTP isteklerini gerçekleştirelim.

Yöntem 1: Varsayılan HTTP Modülünü Kullanarak HTTP İstekleri Yapma

http ”, node.js projesini başlatırken “ komutunu çalıştırarak otomatik olarak kurulduğu için varsayılan bir modüldür. npm başlangıcı ' veya ' npm başlangıç ​​-y ”. Zaten bir node.js projesi oluşturduğumuz için, bu makalenin başında gösterilen başlatma adımlarını atlıyoruz ve “http” modülünü kullanarak doğrudan http isteklerinin oluşturulmasına geçiyoruz.

Aşağıdaki kod parçasında sunucu oluşturulmuş ve yanıt olarak sunucuya sahte mesaj gönderilmiştir:

yapı httpObj = gerekmek ( 'http' ) ;

yapı Yerel sunucu = httpObj. CreateServer ( ( istek, yanıt ) => {

cevap. yazmak ( 'Twitter Sayfasına Hoş Geldiniz' ) ;

cevap. son ( ) ;

} ) ;

Yerel sunucu. Dinlemek ( 8080 , ( ) => {

konsol. kayıt ( 'sunucu 8080 numaralı bağlantı noktasından başlatıldı.' ) ;

} ) ;

Yukarıdaki kod bloğunda:

  • İlk önce ' http ” modülü geçerli dosyanın içine aktarıldı ve nesnesi “ adlı yeni bir değişkende saklandı httpObj ”.
  • Daha sonra “adlı sunucu Yerel sunucu ',' çağrılarak oluşturulur createServer() ” yöntemini kullanmak ve geri çağırma işlevini parametre olarak geçirmek.
  • Bu fonksiyonun içinde bir “ yazmak() ” yöntemini kullanın ve buna sunucu üzerinde görüntülenecek sahte bir mesaj atayın. Ayrıca, '' komutunu çağırarak yanıt oturumunu kapatın. son() ” mesajı, rastgele kukla mesaj da yöntem parantezinin içine yerleştirilebilir.
  • Bundan sonra bu sunucunun “port numarasına sahip localhost üzerinden çalışmasını sağlayın. 8080 '' çağrıştırarak Dinlemek() ' yöntem.

Aşağıdaki komutu çalıştırarak yukarıdaki kodu içeren dosyayı yürütün:

düğüm < dosya adı. js >

Oluşturulan çıktı, HTTP isteklerinin varsayılan ' aracılığıyla gerçekleştirildiğini doğrular. http ” modülü:

Yöntem 2: Harici Axios Modülünü Kullanarak HTTP İsteği Yapma

eksenler ”, gerçek zamanlı bir ortamda HTTP isteklerinin gerçekleştirilmesi söz konusu olduğunda en popüler ve yaygın olarak kullanılan modüldür. Bu modülü kullanmak için geliştiricinin öncelikle aşağıdaki komutu çalıştırarak yüklemesi gerekir:

npm eksenleri kurun

Komutu yürüttükten sonra terminal şu ​​şekilde görünür:

Şimdi bir örneğe bakalım: ' ELDE ETMEK ” Verileri rastgele bir API'den almak için HTTP isteği kullanılacak. Daha sonra alınan veriler konsolda da görüntülenir:

yapı aksiyosObj = gerekmek ( 'aksiyel' ) ;

// JSON Yer Tutucu API'sinin URL'si Verinin yalnızca 5 kimliğine sahip kısmını seçmek için

yapı APIUrl = 'https://jsonplaceholder.typicode.com/todos/5' ;

//GET İsteğinin başlatılması

axiosObj. elde etmek ( APIUrl )

. Daha sonra ( cevap => {

konsol. kayıt ( 'API'den Gelen Yanıtın Durumu:' , cevap. durum ) ;

konsol. kayıt ( 'Talebe Yanıt Olarak API'den Alınan Veriler:' , cevap. veri ) ;

} )

. yakalamak ( hata => {

konsol. hata ( 'Hata Oluştu:' , hata ) ;

} ) ;

Yukarıdaki kod bloğunun açıklaması aşağıda belirtilmiştir:

  • İlk önce “ eksenler ” kütüphanesini açın ve örneğini “ adlı değişkende saklayın aksiyosObj “Axios” kütüphanesinin bir nesnesi olarak hareket eden.
  • Daha sonra bir değişken oluşturun ' APIUrl ”ve verilerin alınması gereken API'nin URL'sini saklayın. Bizim durumumuzda URL “ https://jsonplaceholder.typicode.com/todos/5 ' çünkü ' kimliğine sahip verileri almak istiyoruz 5 ”.
  • Şimdi “ yardımıyla aksiyosObj ' çağır' elde etmek() ” yöntemini kullanın ve “ uygulama URL'si Bu yöntem parantezindeki değişken.
  • ''yi ekleyin Daha sonra() ' yöntemi ile ' elde etmek() ” yöntemini kullanın ve tek bir “ parametresi içeren anonim bir ok işlevi oluşturun. cevap ”.
  • Bu ' cevap ',' aracılığıyla isteğe yanıt olarak döndürülen değerleri veya verileri içeren bir nesne görevi görür. elde etmek() ' yöntem.
  • Bunun yardımıyla “ cevap ' nesnesine ' ekleyerek isteğin ve içeriğin durumunu alın durum ' Ve ' veri ” anahtar kelimelerinin yanında.
  • Son olarak “ yakalamak() ” Programın yürütülmesi sırasında meydana gelen hataları görüntüleyen yöntem.

Şimdi terminaldeki aşağıdaki komutu kullanarak yukarıdaki kodu Node.js ortamında derleyin:

düğüm < dosya adı >

Görüntülenen çıktı, istenen verinin sağlanan kaynaktan yanıt olarak alındığını ve konsol penceresinde görüntülendiğini gösterir:

Bunların hepsi Node.js İstek Modülü ile HTTP istekleri yapmak ve alternatiflerine hızlı bir genel bakış ile ilgilidir.

Çözüm

“ aracılığıyla bir HTTP isteği yapmak için rica etmek ” modülü, getirmenin gerçekleştirileceği yerden gerekli URL. Daha sonra “request” modülü örneği oluşturulur ve HTTP isteğinin uygulanması gereken seçilen URL ilk parametre olarak iletilir. Gerekli geri çağırma işlevi ayrıca meydana gelen hataları kontrol etmek ve HTTP isteğinin içeriğini veya yanıtını almak için de kullanılır. Bu kılavuz, istek modülünü kullanarak HTTP istekleri yapma sürecini açıklamıştır.