tigtools

cURL से कोड कनवर्टर

curl कमांड पेस्ट करें—उदाहरण के लिए अपने ब्राउज़र के डेवलपर टूल या किसी API दस्तावेज़ से कॉपी की गई—और अपनी भाषा में समान कोड पाएँ।

आपके ब्राउज़र में चलता है साइन अप की ज़रूरत नहीं

भाषा

इस्तेमाल करने का तरीका

  1. किसी अनुरोध को curl के रूप में कॉपी करें, उदाहरण के लिए अपने ब्राउज़र के डेवलपर टूल से (Network टैब, राइट-क्लिक, Copy as cURL) या API दस्तावेज़ से।
  2. इसे बॉक्स में पेस्ट करें। \ से लाइन जारी रखना ठीक है।
  3. JavaScript fetch, Node.js axios, Python requests या PHP cURL चुनें।
  4. कोड के नीचे दिए गए नोट्स पढ़ें, फिर परिणाम कॉपी या डाउनलोड करें।

यह कैसे काम करता है

कनवर्टर पहले कमांड को उसी तरह शब्दों में बांटता है जिस तरह POSIX शेल करता है: यह सिंगल कोट्स, बैकस्लैश एस्केप के साथ डबल कोट्स, $'…' स्ट्रिंग्स और बैकस्लैश लाइन कंटिन्युएशन समझता है। शेल वेरिएबल जैसे $TOKEN विस्तारित नहीं किए जाते; वे टेक्स्ट बने रहते हैं।

समर्थित curl विकल्प: URL (या --url), -X/--request, -H/--header, -d/--data, --data-ascii, --data-raw, --data-binary, --data-urlencode, --json, -F/--form और --form-string (फ़ील्ड और ;type= के साथ @file अपलोड), -u/--user, -G/--get, -I/--head, -A/--user-agent, -e/--referer, -b/--cookie (कुकी स्ट्रिंग्स), -L/--location और --compressed। छोटे विकल्प संयोजित किए जा सकते हैं, जैसे -sSL, और मान संलग्न किए जा सकते हैं, जैसे -XPOST।

नियम curl का अनुसरण करते हैं: कई -d मान & से जोड़े जाते हैं; डेटा अनुरोध को POST बनाता है जब तक -X या -G अन्यथा न कहे; -G डेटा को URL में क्वेरी स्ट्रिंग के रूप में जोड़ता है; --json Content-Type और Accept हेडर को application/json पर सेट करता है। जब बॉडी JSON हो और Content-Type यही बताए, कोड एक असली ऑब्जेक्ट भेजता है (Python में json=, PHP में json_encode के साथ ऐरे) न कि एस्केप्ड स्ट्रिंग। मल्टीपार्ट फ़ॉर्म के लिए, Content-Type हेडर लाइब्रेरी पर छोड़ दिया जाता है ताकि बाउंड्री सही रहे।

-k/--insecure को जानबूझकर अनदेखा किया जाता है और एक नोट इसे समझाता है। जो विकल्प केवल curl के अपने आउटपुट को बदलते हैं (-s, -S, -v, -i, -o, --fail और इसी तरह) उन्हें नोट के साथ अनदेखा किया जाता है। कोई अन्य विकल्प उसका नाम बताते हुए स्पष्ट त्रुटि देता है, न कि ऐसा कोड जो चुपचाप कुछ अलग करता है। एक अंतर बाकी रहता है: curl केवल -L के साथ रीडायरेक्ट का अनुसरण करता है, जबकि fetch, axios और requests डिफ़ॉल्ट रूप से उनका अनुसरण करते हैं; PHP कोड केवल तभी उनका अनुसरण करता है जब -L दिया गया हो।

यह टूल केवल कोड लिखता है। यह कभी अनुरोध नहीं भेजता, इसलिए कमांड में मौजूद टोकन और पासवर्ड कहीं इस्तेमाल नहीं होते।

उदाहरण

ब्राउज़र अनुरोध को Python में दोहराना

Chrome के Network टैब से किसी विफल API कॉल को cURL के रूप में कॉपी करें और उसे Python requests में बदलें। हेडर, कुकीज़ और JSON बॉडी साथ आ जाते हैं, जिससे आप स्क्रिप्ट में बग को दोबारा पैदा कर सकते हैं।

Node.js में API दस्तावेज़ का उपयोग करना

कोई API रेफ़रेंस दिखाता है “curl -u key: https://api.example.com/v1/charges -d amount=2000 -d currency=eur”। axios वर्शन में auth: { username: "key", password: "" } और एक फ़ॉर्म-एन्कोडेड बॉडी इस्तेमाल होती है।

PHP में फ़ाइल अपलोड

“curl -F 'file=@invoice.pdf;type=application/pdf' -F 'note=March' https://x.io/upload” CURLOPT_POSTFIELDS बन जाता है, जिसमें नया CURLFile('invoice.pdf', 'application/pdf') और note फ़ील्ड शामिल है।

अक्सर पूछे जाने वाले सवाल

क्या यह टूल मेरा अनुरोध भेजता है?

नहीं। यह केवल कमांड टेक्स्ट को पार्स करता है और कोड लिखता है। कोई अनुरोध नहीं भेजा जाता, इसलिए कमांड में मौजूद API कुंजियाँ या कुकीज़ इस्तेमाल या संग्रहीत नहीं की जातीं।

-k/--insecure को क्यों नहीं बदला जाता?

प्रमाणपत्र जाँच बंद करने से कनेक्शन इंटरसेप्शन के लिए खुला हो जाता है। जनरेट किया गया कोड जाँच चालू रखता है; अगर किसी सर्वर का प्रमाणपत्र विश्वसनीय नहीं है, तो प्रमाणपत्र या ट्रस्ट स्टोर को ठीक करें।

मुझे “option is not supported” क्यों दिखता है?

कनवर्टर केवल उन्हीं विकल्पों को बदलता है जिनका अर्थ वह बिल्कुल सही तरीके से दोहरा सके। प्रॉक्सी, क्लाइंट प्रमाणपत्र, कुकी जार और ऐसे ही विकल्प अस्वीकार कर दिए जाते हैं ताकि आपको curl से अलग व्यवहार करने वाला कोड न मिले।

क्या यह Windows cmd कमांड के साथ काम करता है?

“cURL (bash)” के रूप में कॉपी किए गए कमांड सबसे अच्छा काम करते हैं। Windows cmd लाइन जारी रखने के लिए ^ और अलग उद्धरण चिह्नों का उपयोग करता है; पंक्ति के अंत में ^ स्वीकार किया जाता है, लेकिन cmd के अन्य एस्केप काम नहीं कर सकते।

गोपनीयता

कमांड को केवल आपके ब्राउज़र में पार्स किया जाता है और कोई अनुरोध नहीं भेजा जाता। कुछ भी अपलोड, संग्रहीत या एनालिटिक्स में शामिल नहीं किया जाता।