HTTP अनुरोध के हिस्से क्या हैं?
HTTP अनुरोध एक मेथड (GET, POST, PUT, PATCH, DELETE …) और लक्ष्य URL — पाथ और क्वेरी पैरामीटर — है, जिसके बाद हेडर और, डेटा ले जाने वाले मेथड के लिए, एक बॉडी होती है जिसका फ़ॉर्मेट Content-Type हेडर बताता है। RFC 9110 मेथड और उनके अर्थ परिभाषित करता है: GET और HEAD सुरक्षित हैं, PUT और DELETE आइडेम्पोटेंट, POST न यह न वह — और यही तय करता है कि अनुरोध दोबारा भेजा जा सकता है या नहीं। cURL कमांड लाइन वही अनुरोध लिखा हुआ रूप है, और बग रिपोर्ट में API कॉल दोहराने की साझा भाषा है।
गाइड पढ़ें: API टेस्टिंग क्या है? REST API कैसे टेस्ट करें
REST रिक्वेस्ट जनरेटर कैसे इस्तेमाल करें
- मेथड और URL तय करें, हेडर तथा वैकल्पिक बॉडी जोड़ें।
- प्रमाणीकरण का प्रकार चुनें और क्रेडेंशियल डालें।
- ड्रॉपडाउन से एक और भाषा चुनें; किसी भी स्निपेट को एक क्लिक में कॉपी करें।
REST रिक्वेस्ट जनरेटर की खूबियाँ
- चौदह लक्ष्य: bash/PowerShell/cmd के लिए cURL, fetch, axios, Node https, Python requests और httpx, Java HttpClient, C# HttpClient, Go net/http, PHP cURL, Ruby Net::HTTP तथा कच्चा HTTP
- cURL, fetch, axios और Python हमेशा बनते हैं; बाक़ी कोई भी भाषा ड्रॉपडाउन से चुनें
- Bearer, Basic और API key (हेडर या क्वेरी में) प्रमाणीकरण
- जहाँ भाषा सहारा देती है वहाँ JSON बॉडी नेटिव संरचना बन जाती है; बाक़ी बॉडी सही तरीक़े से एस्केप होती हैं
- Content-Type न दिया हो तो अपने आप पहचान (JSON, form, XML, text)
- GET पर बॉडी, अमान्य JSON और क्रेडेंशियल न होने पर चेतावनियाँ
REST रिक्वेस्ट जनरेटर का उदाहरण
JSON और bearer टोकन के साथ POST → Python
इनपुट:
POST https://api.example.com/v1/users · Content-Type: application/json · Bearer sk_test_… · Body {"name":"Layla"}आउटपुट:
import requests
url = "https://api.example.com/v1/users"
headers = {
"Authorization": "Bearer sk_test_…",
"Accept": "application/json",
}
payload = {
"name": "Layla",
}
response = requests.post(url, headers=headers, json=payload)
response.raise_for_status()
print(response.status_code, response.json())REST रिक्वेस्ट जनरेटर के बारे में अक्सर पूछे जाने वाले सवाल
कौन-सी भाषाएँ और क्लाइंट समर्थित हैं?
cURL (bash, PowerShell और cmd की एस्केपिंग के साथ), JavaScript fetch, axios, Node.js https, Python requests तथा httpx, Java 11+ HttpClient, C# HttpClient, Go net/http, PHP cURL, Ruby Net::HTTP और कच्चा HTTP/1.1 मैसेज। चार सबसे लोकप्रिय हमेशा दिखते हैं; बाक़ी ड्रॉपडाउन से चुनें।
हर भाषा में बॉडी कैसे संभाली जाती है?
जब Content-Type JSON हो और बॉडी पार्स हो जाए, तो स्निपेट नेटिव संरचना इस्तेमाल करते हैं (fetch में JSON.stringify, axios में data, Python में json=…)। बाक़ी स्थितियों में बॉडी कच्ची स्ट्रिंग के रूप में भेजी जाती है, हर भाषा के हिसाब से सही एस्केपिंग के साथ।
auth सेटिंग कहाँ पहुँचती हैं?
Bearer और Basic Authorization हेडर बन जाते हैं; API key आपकी पसंद के अनुसार हेडर या क्वेरी पैरामीटर बनती है। C# AuthenticationHeaderValue इस्तेमाल करता है और Python हेडर सीधे पास करता है, ताकि स्निपेट कॉपी-पेस्ट के लिए तैयार रहें।
क्या कुछ भी सर्वर पर भेजा जाता है?
नहीं। कोड बनाना पूरी तरह क्लाइंट-साइड टेक्स्ट प्रोसेसिंग है; आपके टोकन ब्राउज़र में ही रहते हैं। असली सीक्रेट वाली जनरेट की गई फ़ाइलें कमिट न करें।
तकनीकी नोट्स
सारे जनरेटर एक ही सामान्यीकृत रिक्वेस्ट (मेथड, URL, हेडर, बॉडी, auth, विकल्प) इस्तेमाल करते हैं, इसलिए स्निपेट आपस में एक जैसे रहते हैं। हर भाषा की अपनी स्ट्रिंग एस्केपिंग है (JS/Java/Go के लिए JSON शैली, C# के लिए verbatim @"…", PHP/Ruby के लिए सिंगल कोट, बहु-लाइन Python के लिए ट्रिपल कोट)।
संदर्भ
- RFC 9110: HTTP SemanticsHTTP मेथड, हेडर फ़ील्ड, स्टेटस कोड और कंटेंट निगोशिएशन के अर्थ, वायर वर्ज़न से स्वतंत्र।
- HTTP headers — MDNरिक्वेस्ट और रिस्पॉन्स हेडर का संदर्भ: सिंटैक्स, डायरेक्टिव और ब्राउज़र सपोर्ट।
- RFC 7578: Returning Values from Forms: multipart/form-dataफ़ाइल अपलोड और मिश्रित फ़ॉर्म सबमिशन के लिए इस्तेमाल होने वाली multipart/form-data एन्कोडिंग।