cURL जनरेटर कैसे इस्तेमाल करें
- मेथड, URL, हेडर, बॉडी और प्रमाणीकरण भरें।
- जिस शेल में पेस्ट करना है उसे चुनें और ज़रूरी विकल्प चालू करें।
- कमांड कॉपी करें; 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"}' \
--compressedcURL जनरेटर के बारे में अक्सर पूछे जाने वाले सवाल
बने हुए कमांड में -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।