- cURL / curl
- ओपन सोर्स कमांड लाइन टूल और libcurl लाइब्रेरी, कमांड लाइन में URL के माध्यम से HTTP/HTTPS/FTP जैसे प्रोटोकॉल अनुरोध भेजने के लिए उपयोग किया जाता है, डेवलपर्स के लिए API डीबगिंग का सबसे आम टूल है।
- HTTP मेथड
- HTTP अनुरोध क्रिया, सामान्य हैं GET (पढ़ना), POST (बनाना), PUT (संपूर्ण अपडेट), PATCH (आंशिक अपडेट), DELETE (हटाना), HEAD (हेडर प्राप्त करना), OPTIONS (सर्वर क्षमताएं क्वेरी करना)।
- अनुरोध हेडर (Header)
- HTTP अनुरोध में मेटाडेटा कुंजी-मान जोड़े, जैसे Content-Type, Authorization, User-Agent, Cookie, Accept आदि, curl में -H/--header से निर्दिष्ट किए जाते हैं।
- अनुरोध बॉडी (Body)
- HTTP अनुरोध का डेटा भाग, POST/PUT/PATCH के लिए सामान्य, curl में -d/--data/--data-binary/-F से निर्दिष्ट की जाती है, सामान्य प्रारूप JSON, form-urlencoded, multipart/form-data हैं।
- Content-Type
- अनुरोध/प्रतिक्रिया हेडर, बॉडी का मीडिया प्रकार बताता है। application/json JSON, application/x-www-form-urlencoded URL एन्कोडेड फॉर्म, multipart/form-data फ़ाइल अपलोड फॉर्म को इंगित करता है।
- Basic प्रमाणीकरण
- HTTP मूल प्रमाणीकरण, Authorization: Basic base64(user:pass) हेडर के माध्यम से उपयोगकर्ता नाम पासवर्ड पास करता है, curl में -u user:pass से निर्दिष्ट किया जाता है।
- Bearer Token
- टोकन-आधारित प्रमाणीकरण विधि, Authorization: Bearer <token> हेडर के माध्यम से पास की जाती है, JWT/OAuth2 में आमतौर पर उपयोग की जाती है।
- User-Agent
- क्लाइंट प्रकार (ब्राउज़र/क्रॉलर/स्क्रिप्ट) को इंगित करने वाला हेडर, curl डिफ़ॉल्ट रूप से "curl/संस्करण" भेजता है, कई वेबसाइटें गैर-ब्राउज़र UA को ब्लॉक करती हैं, आमतौर पर -A से निर्दिष्ट किया जाता है।
- Cookie
- सर्वर द्वारा Set-Cookie के माध्यम से भेजे गए, ब्राउज़र द्वारा बाद के अनुरोधों में Cookie हेडर के माध्यम से वापस भेजे गए कुंजी-मान जोड़े, सत्र बनाए रखने के लिए उपयोग किए जाते हैं। curl -b Cookie भेजता है, -c Cookie सहेजता है।
- Referer
- वर्तमान अनुरोध के स्रोत पृष्ठ URL को इंगित करने वाला हेडर, कुछ हॉटलिंक सुरक्षा/CSRF सत्यापन जांचते हैं। curl -e से सेट किया जाता है।
- रीडायरेक्ट (3xx)
- जब सर्वर 301/302/303/307/308 स्थिति कोड लौटाता है तो ब्राउज़र को नए URL पर जाने के लिए कहता है। curl डिफ़ॉल्ट रूप से फॉलो नहीं करता, -L/--location से फॉलो करता है।
- --compressed
- curl विकल्प, स्वचालित रूप से Accept-Encoding: deflate, gzip हेडर जोड़ता है और प्रतिक्रिया को स्वचालित रूप से डीकंप्रेस करता है। सेट नहीं करने पर प्रतिक्रिया संपीड़ित विकृत डेटा हो सकती है।
- -k/--insecure
- curl विकल्प, HTTPS प्रमाणपत्र सत्यापन स्किप करता है, केवल स्व-हस्ताक्षरित प्रमाणपत्र परीक्षण वातावरण के लिए उपयोग करें, प्रोडक्शन वातावरण में उपयोग निषिद्ध है।
- fetch API
- ब्राउज़र नेटिव JavaScript HTTP अनुरोध API, Promise रिटर्न करता है, आधुनिक ब्राउज़रों द्वारा समर्थित है।
- Axios
- Promise-आधारित लोकप्रिय HTTP क्लाइंट लाइब्रेरी, ब्राउज़र और Node.js के लिए सामान्य, स्वचालित JSON सीरियलाइजेशन, इंटरसेप्टर, टाइमआउट रद्दीकरण।
- OkHttp
- Square द्वारा निर्मित Java/Android HTTP क्लाइंट लाइब्रेरी, उच्च प्रदर्शन, HTTP/2 समर्थन, कनेक्शन पूल, पारदर्शी GZIP।
- HttpClient (.NET)
- C#/.NET के लिए अनुशंसित HTTP क्लाइंट, System.Net.Http नेमस्पेस, .NET Core/.NET 5+ मानक API।
- Invoke-RestMethod
- PowerShell 3.0+ बिल्ट-इन HTTP अनुरोध cmdlet, JSON/XML प्रतिक्रिया को स्वचालित रूप से PowerShell ऑब्जेक्ट के रूप में पार्स करता है।