Node.js अनुरोध मॉड्यूल के साथ HTTP अनुरोध कैसे करें?

Node Js Anurodha Modyula Ke Satha Http Anurodha Kaise Karem



HTTP अनुरोध किसी भी इंटरैक्टिव एप्लिकेशन का सबसे महत्वपूर्ण और अभिन्न अंग हैं, ये अनुरोध क्लाइंट और सर्वर-साइड के बीच डेटा के स्थानांतरण को संभालते हैं। यदि उपयोगकर्ता को विशिष्ट क्वेरी के बारे में डेटा की आवश्यकता है, तो वह एक अनुरोध भेजेगा और आवश्यक डेटा वाले इस अनुरोध की प्रतिक्रिया सर्वर से भेजी जाएगी। यह पूरी प्रक्रिया 'पर निर्भर करती है या उसका उपयोग करती है' एचटीटीपी 'अनुरोध जो बाहरी मॉड्यूल जैसे' का उपयोग करके बनाए जा सकते हैं अनुरोध ”।

यह मार्गदर्शिका नीचे दिए गए अनुभागों को कवर करके Node.js अनुरोध मॉड्यूल के साथ HTTP अनुरोध करने की प्रक्रिया बताती है:

Node.js अनुरोध मॉड्यूल के साथ HTTP अनुरोध कैसे करें?







Node.js अनुरोध मॉड्यूल के विकल्प



निष्कर्ष



Node.js अनुरोध मॉड्यूल का उपयोग करके HTTP अनुरोध कैसे करें?

अनुरोध मॉड्यूल सबसे सीधा मॉड्यूल है जो HTTP अनुरोध भेजने या पुनर्प्राप्त करने में मदद करता है। यह मॉड्यूल बहुत सरल और समझने में आसान है, लेकिन यह डेवलपर्स को बहुत कम स्वतंत्रता प्रदान करता है। इसके अलावा, डेवलपर आसानी से अपनी बुनियादी कार्यक्षमता को संशोधित नहीं कर सकता है या अपनी प्रदान की गई सुविधाओं को नहीं बढ़ा सकता है।





टिप्पणी: हालांकि ' अनुरोध 'एक अच्छा मॉड्यूल है. हालाँकि, इसके रचनाकारों ने इस मॉड्यूल पर काम करना बंद करने का फैसला किया, और 11 फरवरी, 2020 को इसे पूरी तरह से बंद कर दिया गया।

हालाँकि, यदि आप अभी भी इसके कार्यान्वयन के बारे में एक विचार प्राप्त करना चाहते हैं ' अनुरोध मॉड्यूल फिर नीचे दिए गए चरणों पर जाएँ।



चरण 1: 'अनुरोध' मॉड्यूल स्थापित करना और Node.js प्रोजेक्ट को प्रारंभ करना

' को इनिशियलाइज़ करके प्रारंभ करें NPM कमांड चलाकर Node.js प्रोजेक्ट बनाने के लिए वांछित निर्देशिका के अंदर पैकेज:

एनपीएम init - और

आउटपुट से पता चलता है कि 'एनपीएम' को प्रदान की गई निर्देशिका में सफलतापूर्वक आरंभ किया गया है:

फिर, आवश्यक स्थापित करें ' अनुरोध 'आदेश निष्पादित करके मॉड्यूल:

एनपीएम इंस्टॉल अनुरोध

आउटपुट से पता चलता है कि इंस्टॉलेशन पूरा हो चुका है लेकिन चूंकि यह मॉड्यूल अप्रचलित है, इसलिए अप्रचलित चेतावनी 'एनपीएम' द्वारा भेजी गई है:

चरण 2: डमी कोड डालना

एक बनाने के ' .जेएस Node.js प्रोजेक्ट निर्देशिका के अंदर फ़ाइल टाइप करें, यह वह फ़ाइल है जिसमें प्रोग्राम डाले जाते हैं और बाद में निष्पादित होते हैं। फिर, 'के व्यावहारिक कार्यान्वयन को दर्शाने के लिए कोड की नीचे दी गई पंक्तियाँ डालें' अनुरोध 'मॉड्यूल, जैसा कि नीचे दिखाया गया है:

कॉन्स्ट reqObj = ज़रूरत होना ( 'अनुरोध' )

बेस यूआरएल दें = 'https://jsonplaceholder.typicode.com/todos/6' ;

reqObj ( बेस यूआरएल, ( मुद्दे, सामग्री ) => {

अगर ( समस्याएँ ) सांत्वना देना। लकड़ी का लट्ठा ( समस्याएँ )

सांत्वना देना। लकड़ी का लट्ठा ( सामग्री ) ;

} ) ;

उपरोक्त कोड ब्लॉक की व्याख्या इस प्रकार है:

  • पहले ' अनुरोध 'मॉड्यूल आयात किया गया है और इसका ऑब्जेक्ट' नामक एक नए वेरिएबल में संग्रहीत है reqObj ”।
  • इसके बाद, कुछ ऑनलाइन JSON फ़ाइल का URL, जिसकी सामग्री को पुनर्प्राप्त करने की आवश्यकता है, को 'के मान के रूप में पास किया जाता है बेसयूआरएल ' नामित चर.
  • फिर ' reqObj 'वेरिएबल को कंस्ट्रक्टर के रूप में लागू किया जाता है, और ' बेसयूआरएल ” को इसके पहले पैरामीटर के रूप में और कॉलबैक फ़ंक्शन को दूसरे पैरामीटर के रूप में पारित किया जाता है।
  • कॉलबैक फ़ंक्शन के अंदर, ' अगर 'कथन का उपयोग किसी भी त्रुटि को प्रदर्शित करने के लिए किया जाता है और पुनर्प्राप्त डेटा को कंसोल विंडो पर भी प्रदर्शित किया जाता है।

चरण 3: निष्पादन

उपरोक्त कोड को निष्पादित करने के लिए, 'नाम वाली फ़ाइल चलाएँ proApp.js 'हमारे मामले में कमांड का उपयोग करते हुए:

नोड प्रोएप. जे एस

निष्पादन के बाद आउटपुट से पता चलता है कि निर्दिष्ट डेटा पुनर्प्राप्त कर लिया गया है और कंसोल पर प्रदर्शित किया गया है:

Node.js अनुरोध मॉड्यूल के विकल्प

के अवमूल्यन के कारण अनुरोध मॉड्यूल, बहुत सारे नए बाहरी मॉड्यूल हैं जिनका उपयोग समान कार्यक्षमता करने के लिए किया जा सकता है। ये वैकल्पिक मॉड्यूल नीचे बताए गए हैं:

वैकल्पिक विवरण
नोड-फ़ेच यह एक वादा या स्ट्रीम-आधारित मॉड्यूल है जो Node.js में window.fetch() विधि लाता है।
एचटीटीपी एचटीटीपी मॉड्यूल Node.js द्वारा प्रदान किया गया डिफ़ॉल्ट मॉड्यूल है, और यह अधिक स्वतंत्रता प्रदान करते हुए http सर्वर के साथ बातचीत करने के लिए कई तरीके प्रदान करता है।
अक्ष यह पूरी तरह से सर्वर और क्लाइंट दोनों ओर से ब्राउज़र पर HTTP अनुरोध निष्पादित करने के वादों और स्ट्रीम पर आधारित है।
प्राप्त यह अत्यंत मानव-अनुकूल है और HTTP अनुरोधों के लिए सबसे शक्तिशाली लाइब्रेरी है।
सुपरएजेंट कई उच्च-स्तरीय HTTP क्लाइंट के लिए समर्थन प्रदान करते हुए चेनिंग और वादों पर आधारित। इसमें सीखने की अवस्था भी कम है।
झुका हुआ यह एक कार्यात्मक HTTP है जो एक एसिंक-प्रकार फ़ंक्शन लौटाता है।
बनाना-लाना-होना का एक उन्नत रूप नोड-फ़ेच ' मापांक। इसमें अब 'अनुरोध पूलिंग', 'कैश समर्थन' और बहुत कुछ शामिल है।
सुई यह मॉड्यूल सबसे स्पष्ट और सबसे आगे बढ़ने वाला मॉड्यूल है। इसका उपयोग अधिकतर तृतीय-पक्ष स्रोतों को अनुरोध भेजकर डेटा पुनर्प्राप्त करने के लिए किया जाता है।
छोटे-json-http न्यूनतम HTTP क्लाइंट JSON पेलोड निष्पादित करने के लिए उपयोग किया जाता है।

अब, ऊपर चर्चा किए गए कुछ मॉड्यूल के उपयोग से HTTP अनुरोध निष्पादित करते हैं।

विधि 1: डिफ़ॉल्ट HTTP मॉड्यूल का उपयोग करके HTTP अनुरोध करना

एचटीटीपी 'एक डिफ़ॉल्ट मॉड्यूल है क्योंकि यह कमांड चलाकर नोड.जेएस प्रोजेक्ट को प्रारंभ करने के समय स्वचालित रूप से इंस्टॉल हो जाता है' एनपीएम init ' या ' एनपीएम इनिट-वाई ”। जैसा कि हमने पहले ही एक नोड.जेएस प्रोजेक्ट बना लिया है, हम इस लेख की शुरुआत में दिखाए गए आरंभिक चरणों को छोड़ देते हैं और सीधे 'http' मॉड्यूल का उपयोग करके http अनुरोधों के निर्माण में उतर जाते हैं।

नीचे दिए गए कोड स्निपेट में, सर्वर बनाया गया है और प्रतिक्रिया के रूप में, डमी संदेश सर्वर को भेजा जाता है:

कॉन्स्ट httpObj = ज़रूरत होना ( 'एचटीटीपी' ) ;

कॉन्स्ट स्थानीय सर्वर = httpObj. क्रिएटसर्वर ( ( अनुरोध प्रतिक्रिया ) => {

प्रतिक्रिया। लिखना ( 'ट्विटर पेज पर आपका स्वागत है' ) ;

प्रतिक्रिया। अंत ( ) ;

} ) ;

स्थानीय सर्वर. सुनना ( 8080 , ( ) => {

सांत्वना देना। लकड़ी का लट्ठा ( 'सर्वर पोर्ट संख्या 8080 पर प्रारंभ हुआ।' ) ;

} ) ;

उपरोक्त कोड ब्लॉक में:

  • पहले ' एचटीटीपी 'मॉड्यूल को वर्तमान फ़ाइल के अंदर आयात किया गया है और इसका ऑब्जेक्ट' नामक एक नए वेरिएबल में संग्रहीत है httpObj ”।
  • इसके बाद, सर्वर का नाम ' स्थानीय सर्वर ' का आह्वान करके बनाया गया है क्रिएटसर्वर() ' विधि और कॉलबैक फ़ंक्शन को इसके पैरामीटर के रूप में पास करना।
  • इस फ़ंक्शन के अंदर, एक 'आह्वान करें' लिखना() 'विधि बनाएं और इसे एक डमी संदेश निर्दिष्ट करें जो सर्वर पर प्रदर्शित होता है। इसके अलावा, '' का आह्वान करके प्रतिक्रिया सत्र को बंद करें अंत() 'संदेश, यादृच्छिक डमी संदेश को विधि कोष्ठक के अंदर भी डाला जा सकता है।
  • उसके बाद, इस सर्वर को 'पोर्ट नंबर वाले लोकलहोस्ट पर निष्पादित करें' 8080 'आह्वान करके' सुनना() ' तरीका।

नीचे दिए गए आदेश को चलाकर उपरोक्त कोड वाली फ़ाइल को निष्पादित करें:

नोड < फ़ाइल का नाम। जे एस >

उत्पन्न आउटपुट पुष्टि करता है कि HTTP अनुरोध डिफ़ॉल्ट के माध्यम से निष्पादित किए गए हैं। एचटीटीपी ' मापांक:

विधि 2: बाहरी एक्सियोस मॉड्यूल का उपयोग करके HTTP अनुरोध करना

अक्ष जब वास्तविक समय के वातावरण में HTTP अनुरोधों को निष्पादित करने की बात आती है तो यह सबसे लोकप्रिय और व्यापक रूप से उपयोग किया जाने वाला मॉड्यूल है। इस मॉड्यूल का उपयोग करने के लिए, डेवलपर को पहले नीचे दिए गए कमांड को निष्पादित करके इसे इंस्टॉल करना होगा:

एनपीएम एक्सियोस स्थापित करें

कमांड निष्पादित करने के बाद, टर्मिनल इस तरह दिखाई देता है:

अब, आइए एक उदाहरण देखें जिसमें ' पाना HTTP अनुरोध का उपयोग यादृच्छिक एपीआई से डेटा पुनर्प्राप्त करने के लिए किया जाएगा। फिर, प्राप्त डेटा कंसोल पर भी प्रदर्शित होता है:

कॉन्स्ट axiosObj = ज़रूरत होना ( 'अक्षियोस' ) ;

// JSON प्लेसहोल्डर API का URL, 5 की आईडी वाले डेटा के केवल भाग का चयन करने के लिए

कॉन्स्ट apiUrl = 'https://jsonplaceholder.typicode.com/todos/5' ;

//GET अनुरोध प्रारंभ करना

axiosObj. पाना ( apiUrl )

. तब ( प्रतिक्रिया => {

सांत्वना देना। लकड़ी का लट्ठा ( 'एपीआई से प्रतिक्रिया की स्थिति है:' , प्रतिक्रिया। स्थिति ) ;

सांत्वना देना। लकड़ी का लट्ठा ( 'अनुरोध की प्रतिक्रिया के रूप में एपीआई से प्राप्त डेटा:' , प्रतिक्रिया। डेटा ) ;

} )

. पकड़ना ( गलती => {

सांत्वना देना। गलती ( 'त्रुटि हुई है:' , गलती ) ;

} ) ;

उपरोक्त कोड ब्लॉक का स्पष्टीकरण नीचे दिया गया है:

  • सबसे पहले, 'आयात करें' अक्ष 'लाइब्रेरी और इसके उदाहरण को' नामक वेरिएबल में संग्रहीत करें axiosObj जो 'एक्सियोस' लाइब्रेरी के एक ऑब्जेक्ट के रूप में कार्य करता है।
  • इसके बाद, एक वेरिएबल बनाएं ' apiUrl ” और एपीआई का यूआरएल स्टोर करें जिससे डेटा पुनर्प्राप्त करने की आवश्यकता है। हमारे मामले में, यूआरएल है ' https://jsonplaceholder.typicode.com/todos/5 'क्योंकि हम उस डेटा को पुनः प्राप्त करना चाहते हैं जिसकी एक आईडी है' 5 ”।
  • अब, 'की मदद से axiosObj 'आह्वान करें' पाना() 'विधि और पास करें' एपयूआरएल इस विधि कोष्ठक के अंदर चर।
  • 'संलग्न करें' तब() 'विधि' के साथ पाना() ' विधि बनाएं और एक अनाम तीर फ़ंक्शन बनाएं जिसमें ' का एकल पैरामीटर हो प्रतिक्रिया ”।
  • यह ' प्रतिक्रिया 'एक ऑब्जेक्ट के रूप में कार्य करता है जिसमें' के माध्यम से अनुरोध के जवाब में लौटाए गए मान या डेटा होते हैं पाना() ' तरीका।
  • इसकी मदद से' प्रतिक्रिया 'ऑब्जेक्ट, ' संलग्न करके अनुरोध और सामग्री की स्थिति पुनः प्राप्त करें स्थिति ' और ' डेटा इसके आगे कीवर्ड।
  • अंत में, 'संलग्न करें' पकड़ना() 'वह विधि जो प्रोग्राम के निष्पादन के दौरान हुई त्रुटियों को प्रदर्शित करती है।

अब, टर्मिनल पर नीचे दिए गए कमांड का उपयोग करके उपरोक्त कोड को Node.js वातावरण में संकलित करें:

नोड < फ़ाइल का नाम >

प्रदर्शित आउटपुट दिखाता है कि अनुरोधित डेटा को प्रतिक्रिया के रूप में दिए गए स्रोत से पुनर्प्राप्त किया गया है और कंसोल विंडो पर प्रदर्शित किया गया है:

यह सब Node.js अनुरोध मॉड्यूल के साथ HTTP अनुरोध करने और इसके विकल्पों के त्वरित अवलोकन के बारे में है।

निष्कर्ष

के माध्यम से HTTP अनुरोध करने के लिए अनुरोध मॉड्यूल, आवश्यक यूआरएल जहां से फ़ेचिंग की जाएगी। फिर, 'अनुरोध' मॉड्यूल उदाहरण बनाया जाता है, और चयनित यूआरएल जिसके लिए HTTP अनुरोध को लागू करने की आवश्यकता होती है, उसे पहले पैरामीटर के रूप में पारित किया जाता है। आवश्यक कॉलबैक फ़ंक्शन का उपयोग किसी भी त्रुटि की जांच करने और HTTP अनुरोध की सामग्री या प्रतिक्रिया को पुनः प्राप्त करने के लिए भी किया जाता है। इस गाइड में अनुरोध मॉड्यूल का उपयोग करके HTTP अनुरोध करने की प्रक्रिया को समझाया गया है।