cURL जनरेटर

ब्राउज़र में चलता है वेब

bash, PowerShell या cmd के लिए सही एस्केपिंग वाला cURL कमांड तैयार करें — -X, -H, --data-raw, -L, --compressed, -k और --max-time फ़्लैग सहित।

गोपनीयता: यह टूल पूरी तरह आपके ब्राउज़र में चलता है। आपका इनपुट कभी आपके डिवाइस से बाहर नहीं जाता।
टूल लोड हो रहा है…

HTTP अनुरोध के हिस्से क्या हैं?

HTTP अनुरोध एक मेथड (GET, POST, PUT, PATCH, DELETE …) और लक्ष्य URL — पाथ और क्वेरी पैरामीटर — है, जिसके बाद हेडर और, डेटा ले जाने वाले मेथड के लिए, एक बॉडी होती है जिसका फ़ॉर्मेट Content-Type हेडर बताता है। RFC 9110 मेथड और उनके अर्थ परिभाषित करता है: GET और HEAD सुरक्षित हैं, PUT और DELETE आइडेम्पोटेंट, POST न यह न वह — और यही तय करता है कि अनुरोध दोबारा भेजा जा सकता है या नहीं। cURL कमांड लाइन वही अनुरोध लिखा हुआ रूप है, और बग रिपोर्ट में API कॉल दोहराने की साझा भाषा है।

गाइड पढ़ें: API टेस्टिंग क्या है? REST API कैसे टेस्ट करें

cURL जनरेटर कैसे इस्तेमाल करें

  1. मेथड, URL, हेडर, बॉडी और प्रमाणीकरण भरें।
  2. जिस शेल में पेस्ट करना है उसे चुनें और ज़रूरी विकल्प चालू करें।
  3. कमांड कॉपी करें; curl में नए हों तो फ़्लैग की व्याख्या पढ़ लें।

cURL जनरेटर की खूबियाँ

  • bash/zsh, PowerShell (backtick के साथ curl.exe) और Windows cmd (^ continuation, एस्केप किए कोट, दोगुने %) के लिए सही quoting
  • Bearer, Basic और API key प्रमाणीकरण — हेडर या क्वेरी पैरामीटर के रूप में
  • --data-raw बॉडी तथा -L, --compressed, -k, -i, -v, -sS, --max-time और -o विकल्प
  • बॉडी मौजूद होने पर ग़ैर-ज़रूरी -X POST छोड़ देता है, ठीक जैसे curl ख़ुद करता है
  • कमांड के नीचे हर फ़्लैग की सरल भाषा में व्याख्या

cURL जनरेटर का उदाहरण

टोकन के साथ JSON POST (bash)

इनपुट:

POST https://api.example.com/v1/issues · Bearer ghp_… · Body {"title":"Fix login"} · --compressed

आउटपुट:

curl https://api.example.com/v1/issues \
  -H 'Authorization: Bearer ghp_…' \
  -H 'Content-Type: application/json' \
  --data-raw '{"title":"Fix login"}' \
  --compressed

cURL जनरेटर के बारे में अक्सर पूछे जाने वाले सवाल

बने हुए कमांड में -X POST क्यों नहीं है?

बॉडी (-d / --data-raw) मौजूद होने पर curl अपने आप POST पर चला जाता है, इसलिए -X POST ग़ैर-ज़रूरी है। -X सिर्फ़ दूसरे मेथड (PUT, PATCH, DELETE) के लिए या बिना बॉडी वाले POST के लिए जोड़ा जाता है।

bash, PowerShell और cmd के आउटपुट में क्या फ़र्क़ है?

bash सिंगल कोट और बैकस्लैश लाइन continuation इस्तेमाल करता है। PowerShell में curl.exe चलता है (क्योंकि वहाँ "curl" Invoke-WebRequest का alias है) — backtick continuation और दोगुने सिंगल कोट के साथ। cmd में सिंगल कोट होते ही नहीं, इसलिए अंदर के डबल कोट बैकस्लैश लगाकर (\") एस्केप किए जाते हैं और लाइनें ^ से आगे बढ़ती हैं।

-d इस्तेमाल करूँ या --data-raw?

--data-raw टेक्स्ट को ठीक वैसे ही भेजता है जैसा दिया गया है। -d के साथ @ से शुरू होने वाली वैल्यू फ़ाइल का नाम मान ली जाती है — JSON बॉडी के लिए यह चौंकाने वाला होता है। इसीलिए जनरेटर --data-raw इस्तेमाल करता है।

--compressed क्या करता है?

यह gzip/brotli के लिए Accept-Encoding जोड़ता है और रिस्पॉन्स को अपने आप डिकम्प्रेस कर देता है — ठीक ब्राउज़र जैसा व्यवहार, कम ट्रांसफ़र साइज़ के साथ।

तकनीकी नोट्स

हेडर नाम RFC 9110 token व्याकरण पर खरे होने चाहिए; CR/LF वाली वैल्यू अस्वीकार होती है। Content-Type के बिना बॉडी का टाइप अनुमानित होता है: JSON object/array → application/json, a=1&b=2 → application/x-www-form-urlencoded, < से शुरू → application/xml, बाक़ी text/plain। Bearer और Basic auth तभी Authorization हेडर जोड़ते हैं जब आपने ख़ुद नहीं लिखा; Basic credentials Base64 से पहले UTF-8 encode होते हैं। query-string API key encodeURIComponent से जुड़ती है, पर URL कभी re-encode नहीं होता।

shell-wise quoting: bash में [A-Za-z0-9_-./:@=+%,] से मेल खाती वैल्यू बिना quote रहती है, वरना single quote में जाती है और भीतर का quote '\'' बनता है; PowerShell हमेशा single quote लगाता और भीतर के दोहराता है; cmd double quote लगाता है, \" escape करता और % तथा ^ दोहराता है। बहु-लाइन बॉडी ज्यों की त्यों रहती है। HEAD से -I बनता है, -X सिर्फ़ GET, HEAD और बॉडी-वाले-POST के अलावा आता है; --max-time अधिकतम 3600।

संदर्भ

  • RFC 9110: HTTP SemanticsIETF · 2022HTTP मेथड, हेडर फ़ील्ड, स्टेटस कोड और कंटेंट निगोशिएशन के अर्थ, वायर वर्ज़न से स्वतंत्र।
  • HTTP headers — MDNMDN Web Docs (Mozilla)रिक्वेस्ट और रिस्पॉन्स हेडर का संदर्भ: सिंटैक्स, डायरेक्टिव और ब्राउज़र सपोर्ट।
  • RFC 7578: Returning Values from Forms: multipart/form-dataIETF · 2015फ़ाइल अपलोड और मिश्रित फ़ॉर्म सबमिशन के लिए इस्तेमाल होने वाली multipart/form-data एन्कोडिंग।