जावास्क्रिप्ट (Node.js) के लिए HTTP-क्लाइंट: शीर्ष लाइब्रेरीज़

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

जावास्क्रिप्ट (Node.js) के लिए HTTP-क्लाइंट: नेटवर्क कार्य के लिए शीर्ष लाइब्रेरीज़

\n\n

आधुनिक Node.js वेब डेवलपमेंट में, HTTP अनुरोध भेजना सबसे सामान्य कार्यों में से एक है। चाहे वह REST API को कॉल करना हो, फ़ाइलें डाउनलोड करना हो, या माइक्रोसर्विसेज़ के साथ इंटरैक्ट करना हो - एक विश्वसनीय HTTP-क्लाइंट के बिना काम नहीं चल सकता। इस लेख में, हम जावास्क्रिप्ट (Node.js) के लिए चार सर्वश्रेष्ठ लाइब्रेरीज़: Axios, Got, node-fetch और undici का विस्तार से विश्लेषण करेंगे। आप उनकी विशेषताओं, प्रदर्शन के बारे में जानेंगे और तैयार कोड उदाहरण प्राप्त करेंगे।

\n\n

1. Axios — सार्वभौमिक मानक

\n

Axios Node.js और ब्राउज़रों के लिए सबसे लोकप्रिय HTTP-क्लाइंट है। यह Promise पर आधारित है और इंटरसेप्टर, स्वचालित JSON पार्सिंग, CSRF सुरक्षा और अनुरोध रद्द करने का समर्थन करता है।

\n\n

स्थापना:

\n
npm install axios
\n\n

GET अनुरोध का उदाहरण:

\n
const axios = require('axios');\n\nasync function getUser(id) {\n  try {\n    const response = await axios.get(`https://api.example.com/users/${id}`);\n    console.log(response.data);\n  } catch (error) {\n    console.error('त्रुटि:', error.message);\n  }\n}\n\ngetUser(1);
\n\n

हेडर के साथ POST का उदाहरण:

\n
const axios = require('axios');\n\nconst data = { name: 'Alice', role: 'developer' };\n\naxios.post('https://api.example.com/users', data, {\n  headers: { 'Content-Type': 'application/json' }\n}).then(res => console.log(res.status));
\n\n

लाभ: सरलता, व्यापक पारिस्थितिकी तंत्र, अपलोड प्रगति के लिए समर्थन।

\n

नुकसान: पैकेज का आकार (~100 KB), सरल कार्यों के लिए अतिरेक।

\n\n

2. Got — तेज़ और कार्यात्मक

\n

Got एक हल्का HTTP-क्लाइंट है जिसमें समृद्ध API है। यह स्ट्रीमिंग, कैशिंग, पुनः प्रयास का समर्थन करता है और Axios से तेज़ काम करता है।

\n\n

स्थापना:

\n
npm install got
\n\n

स्ट्रीम और त्रुटि प्रबंधन के साथ उदाहरण:

\n
const got = require('got');\nconst fs = require('fs');\n\nasync function downloadFile(url, outputPath) {\n  try {\n    const stream = got.stream(url);\n    const fileStream = fs.createWriteStream(outputPath);\n    stream.pipe(fileStream);\n\n    await new Promise((resolve, reject) => {\n      stream.on('end', resolve);\n      stream.on('error', reject);\n    });\n    console.log('फ़ाइल डाउनलोड हुई');\n  } catch (error) {\n    console.error('डाउनलोड त्रुटि:', error.message);\n  }\n}\n\ndownloadFile('https://example.com/file.zip', './file.zip');
\n\n

पुनः प्रयास के साथ उदाहरण:

\n
const got = require('got');\n\ngot('https://api.example.com/data', {\n  retry: { limit: 3, methods: ['GET'] }\n}).then(response => console.log(response.body));
\n\n

लाभ: छोटा आकार, गति, अंतर्निहित पुनः प्रयास।

\n

नुकसान: शुरुआती लोगों के लिए कम सहज API।

\n\n

3. node-fetch — ब्राउज़र से परिचित सिंटैक्स

\n

node-fetch Node.js के लिए ब्राउज़र Fetch API का पोर्ट है। यह आदर्श है यदि आप ब्राउज़र में fetch के आदी हैं और एक समान कोड चाहते हैं।

\n\n

स्थापना:

\n
npm install node-fetch
\n\n

async/await के साथ उदाहरण:

\n
const fetch = require('node-fetch');\n\nasync function getPosts() {\n  const response = await fetch('https://jsonplaceholder.typicode.com/posts/1');\n  if (!response.ok) throw new Error('HTTP त्रुटि ' + response.status);\n  const data = await response.json();\n  console.log(data.title);\n}\n\ngetPosts();
\n\n

FormData भेजने का उदाहरण:

\n
const fetch = require('node-fetch');\nconst FormData = require('form-data');\n\nconst form = new FormData();\nform.append('file', fs.createReadStream('./photo.jpg'));\n\                    

अनुशंसाएँ