logo
GeekFormat

cURL से कोड जनरेटर

cURL कमांड इनपुट

एक cURL कमांड पेस्ट करें, URL, मेथड, हेडर और रिक्वेस्ट बॉडी को स्वचालित रूप से पार्स करें और JavaScript fetch, Axios, Node fetch, Python requests/httpx, Go net/http, PHP cURL, Java OkHttp, C# HttpClient, PowerShell Invoke-RestMethod, wget में चलने योग्य कोड जनरेट करें।

पार्स की गई रिक्वेस्ट

https://api.example.com/items1 हेडरबॉडी: 15 अक्षरcurlToCode.flag.followRedirects

जनरेट किया गया कोड

curlToCode.target.fetch

curl कमांड पेस्ट करें, सेकंडों में 11 भाषाओं में चलने योग्य HTTP अनुरोध कोड प्राप्त करें।

संबंधित सुझाव

उपयोग के मामले

  • Chrome DevTools Network पैनल में अनुरोध पर राइट क्लिक करके「Copy as cURL」चुनने के बाद, इस टूल में पेस्ट करके सीधे अपनी प्रोजेक्ट की भाषा के कोड में बदलें, हाथ से अनुरोध लिखने से 10 गुना तेज
  • तीसरे पक्ष के API को इंटीग्रेट करते समय डॉक्यूमेंटेशन में curl उदाहरण दिया हो, तो तेजी से Python requests/Java OkHttp/C# HttpClient कोड में बदलकर प्रोजेक्ट में एम्बेड करें
  • प्रोडक्शन वातावरण के इंटरफेस को डीबग करते समय पैकेट कैप्चर टूल (Charles/mitmproxy/Wireshark) से curl कमांड कॉपी करें, यूनिट टेस्ट कोड में बदलकर सीधे सत्यापित करें
  • API डॉक्यूमेंटेशन लिखते समय कई भाषाओं के उदाहरणों के बीच तेजी से स्विच करें, विभिन्न तकनीक स्टैक के पाठकों के लिए तैयार चलने योग्य उदाहरण कोड प्रदान करें
  • ऑनलाइन अनुरोध समस्याओं का निवारण करते समय, समस्या को curl से रीप्रोड्यूस करने के बाद कोड रूप में बदलकर सहकर्मियों को भेजें या Issue खोलें, दूसरों के लिए सीधे रीप्रोड्यूस करना आसान बनाएं
  • क्रॉस-लैंग्वेज डेवलपमेंट करते समय (जैसे Python से Go प्रोजेक्ट में जाते समय), मौजूदा curl अनुरोधों को तेजी से नई भाषा के HTTP क्लाइंट कॉल कोड में बदलें, डॉक्यूमेंटेशन खोजने का समय बचाएं
  • Shell स्क्रिप्ट में curl कमांड को Windows ऑपरेशंस सहकर्मियों के लिए PowerShell Invoke-RestMethod में बदलें या इसके विपरीत
  • HTTP प्रोटोकॉल सीखें: एक ही अनुरोध को विभिन्न भाषाओं में लागू करने की तुलना करके, प्रत्येक HTTP क्लाइंट लाइब्रेरी के API अंतर को समझें
  • curl -X POST -d 'json' कमांड को सही Content-Type और JSON सीरियलाइजेशन के साथ तेजी से कोड में बदलें, हाथ से स्ट्रिंग कॉन्सटिनेशन की त्रुटियों से बचें
  • CI/CD स्क्रिप्ट में API कॉल की आवश्यकता होने पर, स्थानीय रूप से डीबग किए गए curl कमांड को संबंधित स्क्रिप्ट भाषा के कोड में बदलकर पाइपलाइन में एम्बेड करें

विशेषताएं

  • 11 लक्षित भाषाएं/लाइब्रेरी: फ्रंटएंड (JS fetch/Axios), Node.js (node-fetch), Python (requests/httpx), Go (net/http), PHP (cURL), Java (OkHttp), C# (HttpClient), PowerShell (Invoke-RestMethod), कमांड लाइन (wget) सहित मुख्य तकनीक स्टैक को एक ही स्थान पर कवर करता है
  • स्मार्ट curl कमांड पार्सिंग: URL, HTTP मेथड, हेडर, बॉडी को स्वचालित पहचानता है, सिंगल/डबल कोट्स, बैकस्लैश एस्केप, मल्टी-लाइन कमांड जॉइनिंग (बैकस्लैश लाइन ब्रेक) का समर्थन करता है
  • सामान्य curl पैरामीटर्स का पूर्ण समर्थन: -X/--request मेथड निर्दिष्ट करना, -H/--header हेडर, -d/--data/-F फॉर्म/JSON बॉडी, -u/--user Basic प्रमाणीकरण, -A/--user-agent UA, -b/--cookie Cookie, -e/--referer Referer, -L/--location रीडायरेक्ट फॉलो, --compressed स्वचालित डीकंप्रेसन, -k/--insecure प्रमाणपत्र सत्यापन स्किप, -I/--head HEAD अनुरोध
  • JSON बॉडी स्मार्ट पहचान: Content-Type application/json होने पर स्वचालित रूप से JSON.parse/JSON.stringify/requests(json=)/json= सीरियलाइजेशन का उपयोग करता है, जनरेट किया कोड स्ट्रिंग के बजाय सीधे ऑब्जेक्ट का उपयोग करता है, भाषा की आदतों के अनुरूप
  • Basic प्रमाणीकरण स्वचालित रूपांतरण: -u user:pass पहचानने पर स्वचालित रूप से Authorization: Basic <base64> हेडर जनरेट करता है, लक्षित भाषा में नेटिव auth मैकेनिज्म का उपयोग करता है (Python auth=, OkHttp credentials, C# credentials आदि)
  • सुरक्षा फ्लैग बैज अलर्ट: --compressed/-L/-k/-u जैसे पैरामीटर्स को स्वचालित पहचानता है, पार्स परिणामों में बैज के साथ स्पष्ट रूप से प्रदर्शित करता है
  • अनुरोध मेथड मैन्युअल रूप से स्विच किया जा सकता है: curl मेथड स्वचालित पार्स होने के बाद, उपयोगकर्ता को ड्रॉपडाउन मेनू से मैन्युअल रूप से मेथड बदलने की अनुमति देता है (GET/POST/PUT आदि 7 प्रकार), तुरंत संबंधित कोड देख सकते हैं
  • स्ट्रिंग एस्केप सुरक्षा: प्रत्येक भाषा के लिए कोड जनरेट करते समय भाषा के नेटिव स्ट्रिंग लिटरल का उपयोग किया जाता है (Python ट्रिपल कोट्स/बैकस्लैश एस्केप, Go बैकटिक रॉ स्ट्रिंग, C# @"", PHP सिंगल कोट, Java डबल कोट एस्केप), कोड चलते समय सिंटैक्स त्रुटि से बचाता है
  • पार्स त्रुटि अलर्ट: अमान्य curl कमांड दर्ज करने पर (जैसे URL गायब, curl से शुरू नहीं, POST के लिए बॉडी नहीं आदि) नारंगी चेतावनी बैज के साथ विशिष्ट समस्या बताई जाती है
  • 3 उदाहरण एक क्लिक में लोड: GET+Token प्रमाणीकरण, POST+JSON, Basic प्रमाणीकरण+रीडायरेक्ट फॉलो सहित 3 विशिष्ट उदाहरण प्रदान करता है, टूल की क्षमता को तेजी से देख सकते हैं
  • एक क्लिक में इनपुट साफ़ करें: Clear बटन तेजी से रीसेट करता है, नया कमांड पेस्ट करते समय अवशेष नहीं रहता
  • पूरी तरह से स्थानीय प्रोसेसिंग: curl कमांड और अनुरोध सामग्री पूरी तरह से ब्राउज़र में स्थानीय रूप से पार्स और रूपांतरित होती है, किसी भी सर्वर पर अपलोड नहीं होती, संवेदनशील Token/पासवर्ड लीक नहीं होते
  • एक क्लिक में कोड कॉपी: कोड जनरेट होने के बाद Copy बटन पर क्लिक करके क्लिपबोर्ड पर कॉपी करें, सीधे प्रोजेक्ट में पेस्ट करके चलाएं
  • HTTPS असुरक्षित मोड अनुकूलन: -k/--insecure पैरामीटर Node/Go/Python/PHP/C#/PowerShell आदि भाषाओं में संबंधित TLS प्रमाणपत्र सत्यापन स्किप कॉन्फ़िगरेशन जनरेट करता है (wget --no-check-certificate का उपयोग करता है, C# ServicePointManager संकेत छोड़ता है, Node NODE_TLS_REJECT_UNAUTHORIZED सेट करता है)

उपयोग कैसे करें

  1. curl कमांड प्राप्त करें: ब्राउज़र DevTools Network पैनल में अनुरोध पर राइट क्लिक करें → Copy → Copy as cURL (bash); या Postman/Charles/mitmproxy जैसे पैकेट कैप्चर टूल से curl निर्यात करें; या अपना खुद का curl कमांड लिखें
  2. इनपुट बॉक्स में पेस्ट करें: curl कमांड को शीर्ष इनपुट क्षेत्र में पेस्ट करें, सिंगल-लाइन/मल्टी-लाइन (बैकस्लैश से जारी) कमांड का समर्थन करता है, लाइन ब्रेक स्वचालित रूप से हटा दिए जाते हैं
  3. उदाहरण बटन पर क्लिक करके संदर्भ लें: फॉर्मेट नहीं पता हो तो「उदाहरण 1/2/3」बटन पर क्लिक करके प्रीसेट curl कमांड लोड करके प्रभाव देखें
  4. पार्स परिणाम देखें: पार्स परिणाम क्षेत्र में URL, Header की संख्या, Body वर्णों की संख्या और संपीड़न/रीडायरेक्ट/प्रमाणपत्र स्किप/Basic प्रमाणीकरण जैसे बैज प्रदर्शित होते हैं, समस्या होने पर नारंगी चेतावनी दिखाई देती है
  5. आवश्यकतानुसार मेथड समायोजित करें: यदि स्वचालित पहचाना गया मेथड गलत है (जैसे curl में -X POST नहीं जोड़ा गया लेकिन POST होना चाहिए), ड्रॉपडाउन मेनू से HTTP मेथड को मैन्युअल रूप से बदलें
  6. लक्षित भाषा चुनें: लक्षित कोड क्षेत्र में संबंधित भाषा बटन पर क्लिक करें (fetch/Axios/Python requests/Go/PHP/Java/C#/PowerShell/wget आदि)
  7. कोड कॉपी करें:「कोड कॉपी करें」बटन पर क्लिक करें, अपने प्रोजेक्ट/टर्मिनल में पेस्ट करके चलाएं

सामान्य प्रश्न

cURL से कोड जनरेटर का क्या उपयोग है? सीधे curl कमांड क्यों नहीं उपयोग करते?

कोड में सीधे curl कमांड को कॉल करना (जैसे shell_exec, subprocess.run) के लिए चाइल्ड प्रोसेस शुरू करने की आवश्यकता होती है, जो न तो सुरक्षित है और न ही त्रुटियों को हैंडल करना, प्रतिक्रिया हेडर प्राप्त करना, प्रकार रूपांतरण करना आसान है। प्रोडक्शन कोड को प्रोग्रामिंग भाषा के नेटिव HTTP क्लाइंट का उपयोग करना चाहिए (Python requests, Java OkHttp, JS fetch आदि)। curl-to-code का मूल्य यह है कि यह DevTools/पैकेट कैप्चर टूल से आपके द्वारा कॉपी किए गए curl कमांड को स्वचालित रूप से संबंधित भाषा के HTTP क्लाइंट कोड में अनुवादित करता है, API डॉक्यूमेंटेशन खोजने, मैन्युअल कोट एस्केप करने, JSON/प्रमाणीकरण हैंडल करने जैसे यांत्रिक कार्य से बचाता है, कॉपी-पेस्ट करके चला सकते हैं।

कौन सी लक्षित भाषाएं/लाइब्रेरी समर्थित हैं?

वर्तमान में 11 लक्ष्य समर्थित हैं: JavaScript fetch (ब्राउज़र नेटिव), Axios (Node/ब्राउज़र सामान्य HTTP लाइब्रेरी), Node.js node-fetch, Python requests (Python की सबसे लोकप्रिय HTTP लाइब्रेरी), Python httpx (नई पीढ़ी HTTP/2 और async समर्थित HTTP लाइब्रेरी), Go net/http (Go मानक लाइब्रेरी), PHP cURL एक्सटेंशन, Java OkHttp (Android/बैकएंड सामान्य उच्च प्रदर्शन लाइब्रेरी), C# HttpClient (.NET मानक HTTP क्लाइंट), PowerShell Invoke-RestMethod (Windows ऑटोमेशन स्क्रिप्ट के लिए सामान्य), wget (कमांड लाइन डाउनलोड टूल)। यदि आपको सूची में नहीं वाली भाषा चाहिए (जैसे Ruby, Rust reqwest, Dart http, Swift URLSession आदि), तो आप पेज से फीडबैक दे सकते हैं, हम मांग के अनुसार जोड़ेंगे।

Chrome DevTools से curl कमांड कैसे कॉपी करें?

चरण: 1. Chrome/Edge खोलें, F12 दबाकर DevTools खोलें; 2. Network पैनल पर स्विच करें; 3. पेज रीफ्रेश करें या लक्षित अनुरोध ट्रिगर करें; 4. अनुरोध सूची में लक्षित अनुरोध ढूंढें (XHR/JS से फ़िल्टर कर सकते हैं); 5. अनुरोध पर राइट क्लिक करें → Copy →「Copy as cURL (bash)」चुनें (bash संस्करण अनुशंसित है, संगतता सबसे अच्छी है); 6. इस टूल के इनपुट बॉक्स में पेस्ट करें। Copy as fetch न चुनें (वह JS कोड है curl नहीं)। Firefox/Safari में प्रक्रिया समान है, सभी में Copy as cURL विकल्प होता है।

curl कमांड की कोट हैंडलिंग बहुत जटिल है, कौन से प्रारूप समर्थित हैं?

टूल bash शैली के सिंगल कोट, डबल कोट, बैकस्लैश एस्केप का समर्थन करता है; Windows cmd के डबल कोट+^एस्केप; PowerShell के बैकटिक एस्केप को मूल रूप से पहचानता है। bash प्रारूप का उपयोग करना अनुशंसित है (सिंगल कोट से लपेटकर)। मल्टी-लाइन कमांड (बैकस्लैश\ से जारी) भी पेस्ट करने के लिए समर्थित हैं, टूल स्वचालित रूप से लाइन ब्रेक और निरंतरता वर्ण हटा देता है। यदि आपका curl कमांड विशेष रूप से जटिल है (shell वेरिएबल, कमांड प्रतिस्थापन $(...), पाइप | आदि शामिल हैं), तो पहले टर्मिनल में echo कमांड चलाकर विस्तारित वास्तविक curl को प्रिंट करके कॉपी करने, या पहले मैन्युअल रूप से सरल बनाने (वेरिएबल को वास्तविक मानों से बदलने) की सिफारिश की जाती है।

curl में -d से JSON भेजने पर सर्वर को विकृत/400 क्यों मिलता है?

यह सबसे आम curl त्रुटियों में से एक है। curl के -d/--data विकल्प का डिफ़ॉल्ट Content-Type application/x-www-form-urlencoded (फॉर्म प्रारूप) है, application/json नहीं। यदि आप सीधे curl -d '{"name":"demo"}' url करते हैं, तो सर्वर फॉर्म के रूप में पार्स करेगा (पार्स विफल होगा या खाली डेटा प्राप्त होगा)। JSON को सही ढंग से भेजने के लिए स्पष्ट रूप से -H "Content-Type: application/json" हेडर जोड़ना आवश्यक है। यह टूल बॉडी का पता लगाने पर लेकिन Content-Type नहीं होने पर नारंगी चेतावनी के साथ सूचित करता है।

जनरेट किया कोड सीधे कॉपी करके चलाया जा सकता है? कौन सी निर्भरताएं इंस्टॉल करनी होंगी?

अधिकांश भाषाओं का कोड मानक लाइब्रेरी के साथ सीधे चल सकता है (fetch/Go net/http/PHP cURL/C# HttpClient/PowerShell/wget सभी बिल्ट-इन हैं), अतिरिक्त इंस्टॉलेशन की आवश्यकता नहीं है। अन्य को तृतीय-पक्ष लाइब्रेरी की आवश्यकता है: Axios (npm install axios आवश्यक), node-fetch (npm install node-fetch आवश्यक, Node 18+ में बिल्ट-इन fetch है इंस्टॉलेशन की आवश्यकता नहीं), Python requests (pip install requests), Python httpx (pip install httpx), Java OkHttp (Maven/Gradle से okhttp3 निर्भरता जोड़नी आवश्यक)। कोड डिफ़ॉल्ट रूप से प्रतिक्रिया स्थिति कोड और पाठ प्रिंट करता है, आप आवश्यकतानुसार प्रसंस्करण तर्क को संशोधित कर सकते हैं।

क्या multipart/form-data फ़ाइल अपलोड (-F पैरामीटर) समर्थित है?

बुनियादी समर्थन: -F पैरामीटर को बॉडी के रूप में पहचाना जाता है, लेकिन वर्तमान में जनरेट किया कोड @file को वास्तविक फ़ाइल अपलोड के बजाय शाब्दिक स्ट्रिंग के रूप में हैंडल करता है। फ़ाइल अपलोड के लिए स्थानीय फ़ाइल सामग्री पढ़ने की आवश्यकता होती है, प्रत्येक भाषा का हैंडलिंग तरीका काफी अलग है (JS FormData/FormData.append का उपयोग करता है, Python files= पैरामीटर का उपयोग करता है, Go multipart.Writer का उपयोग करता है)। टूल द्वारा जनरेट किए गए कोड के आधार पर, संबंधित लाइब्रेरी के फ़ाइल अपलोड डॉक्यूमेंटेशन को देखकर समायोजन करने की सिफारिश की जाती है। भविष्य के संस्करणों में multipart समर्थन को मजबूत किया जाएगा।

क्या यह मेरे curl कमांड और संवेदनशील डेटा को अपलोड करेगा?

बिल्कुल नहीं। सभी पार्सिंग और कोड निर्माण प्रक्रिया 100% आपके ब्राउज़र में स्थानीय रूप से पूरी होती है (शुद्ध फ्रंट-एंड JavaScript), curl कमांड, हेडर में Token/Cookie/पासवर्ड, बॉडी का डेटा किसी भी सर्वर पर नहीं भेजा जाता। आप इस टूल को ऑफ़लाइन उपयोग कर सकते हैं, संवेदनशील जानकारी लीक होने की कोई चिंता नहीं है।

-k/--insecure प्रमाणपत्र सत्यापन स्किप प्रत्येक भाषा के कोड में कैसे हैंडल किया जाता है?

-k पैरामीटर का पता लगने पर, यह टूल प्रत्येक लक्षित भाषा के लिए संबंधित प्रमाणपत्र सत्यापन स्किप कॉन्फ़िगरेशन जनरेट करता है: Python requests/httpx verify=False का उपयोग करते हैं; Node.js process.env.NODE_TLS_REJECT_UNAUTHORIZED='0' सेट करता है; Go कस्टम tls.Config{InsecureSkipVerify: true} बनाता है; PHP CURLOPT_SSL_VERIFYPEER=false और CURLOPT_SSL_VERIFYHOST=0 सेट करता है; Java OkHttp के लिए कस्टम TrustManager आवश्यक है (कोड लंबा होने के कारण टिप्पणी में संकेत दिया जाता है); C# कस्टम ServerCertificateCustomValidationCallback परिभाषित कर सकता है; PowerShell -SkipCertificateCheck का उपयोग करता है (PS6+); wget --no-check-certificate का उपयोग करता है; ब्राउज़र fetch प्रमाणपत्र स्किप नहीं कर सकता (ब्राउज़र सुरक्षा प्रतिबंध, कोड में टिप्पणी के साथ स्पष्ट किया जाता है)। नोट: ये कॉन्फ़िगरेशन केवल स्थानीय डेवलपमेंट परीक्षण के लिए हैं, प्रोडक्शन वातावरण में प्रमाणपत्र सत्यापन को बिल्कुल भी अक्षम न करें।

जनरेट किया Go कोड रीडायरेक्ट फॉलो क्यों नहीं करता? -L जोड़ने पर फॉलो करना चाहिए ना?

Go के net/http का डिफ़ॉल्ट व्यवहार रीडायरेक्ट फॉलो नहीं करना है (curl के डिफ़ॉल्ट व्यवहार के अनुरूप, curl को स्पष्ट रूप से -L जोड़ना ही फॉलो करता है)। टूल -L पैरामीटर का पता लगने पर खाली client जनरेट करता है (http.Client{} का डिफ़ॉल्ट CheckRedirect nil है, यानी 10 रीडायरेक्ट तक फॉलो करता है); -L नहीं जोड़ने पर CheckRedirect http.ErrUseLastResponse रिटर्न करने वाला client जनरेट करता है, रीडायरेक्ट फॉलो नहीं करता (curl के -L न होने के व्यवहार के अनुरूप)। यदि आप चाहते हैं कि Go हमेशा रीडायरेक्ट फॉलो करे, तो कोड में सीधे http.DefaultClient का उपयोग कर सकते हैं या कस्टम Client{Timeout: ...} परिभाषित कर सकते हैं।

लॉगिन/Cookie वाले अनुरोध कैसे हैंडल करें?

दो तरीके हैं:①लॉगिन किए हुए ब्राउज़र के DevTools से सीधे curl कॉपी करें (अनुशंसित): अनुरोध पर राइट क्लिक करें→Copy as cURL, इस प्रकार cookie/header स्वचालित रूप से शामिल हो जाते हैं, पेस्ट करके रूपांतरित करने के बाद सीधे चला सकते हैं;②curl में -b/--cookie से मैन्युअल रूप से Cookie मान निर्दिष्ट करें (-b 'sessionid=abc; token=xyz'), -u/--user से Basic प्रमाणीकरण निर्दिष्ट करें, -H "Authorization: Bearer xxx" से Bearer Token निर्दिष्ट करें, टूल इन हेडर को यथावत रूपांतरित करता है। नोट: ब्राउज़र से कॉपी की गई Cookie की वैधता अवधि होती है, कुछ घंटों के बाद समाप्त हो सकती है और फिर से कॉपी करने की आवश्यकता हो सकती है।

Python requests में JSON बॉडी data= के बजाय json= पैरामीटर का उपयोग क्यों करता है?

Python requests लाइब्रेरी का data पैरामीटर dict को application/x-www-form-urlencoded के रूप में एन्कोड करता है, स्ट्रिंग को यथावत भेजता है, जबकि json पैरामीटर dict/लिस्ट को स्वचालित रूप से JSON स्ट्रिंग में सीरियलाइज करता है और Content-Type: application/json हेडर को स्वचालित रूप से सेट करता है (यदि आपने मैन्युअल रूप से सेट नहीं किया है)। यह टूल Content-Type के application/json होने और बॉडी के वैध JSON होने का पता लगाने पर, JSON को स्वचालित रूप से Python dict के रूप में पार्स करता है और json= पैरामीटर का उपयोग करता है, जिससे कोड अधिक साफ होता है, मैन्युअल json.dumps की आवश्यकता नहीं होती, Content-Type हेडर भूलने की समस्या नहीं होती। गैर-JSON बॉडी (फॉर्म/XML/सादा पाठ) data= पैरामीटर के साथ कच्चे स्ट्रिंग के रूप में भेजी जाती है।

curl कमांड बहुत लंबा है और बहुत सारे हेडर हैं, जनरेट किया कोड सभी हेडर ले जा रहा है तो क्या करें?

DevTools से कॉपी किया गया curl कमांड ब्राउज़र द्वारा स्वचालित रूप से जोड़े गए बड़ी संख्या में हेडर शामिल करता है (Host, Connection, Accept, Accept-Encoding, Accept-Language, Sec-Fetch-*, sec-ch-ua, Upgrade-Insecure-Requests आदि), इन हेडर में से अधिकांश को कोड में स्पष्ट रूप से सेट करने की आवश्यकता नहीं होती (HTTP क्लाइंट स्वचालित रूप से Accept-Encoding, Connection, Host, Content-Length आदि जैसे उचित डिफ़ॉल्ट मान जोड़ता है)। जनरेट किए गए कोड को कॉपी करने के बाद, अनावश्यक हेडर को मैन्युअल रूप से हटाने की सिफारिश की जाती है, कम से कम इन्हें रखें: Content-Type, Authorization, Cookie (यदि आवश्यक हो), कस्टम व्यावसायिक हेडर। अतिरिक्त हेडर न केवल कोड को बदसूरत बनाते हैं, बल्कि व्यवहार असामान्यताएं भी पैदा कर सकते हैं (जैसे Accept-Encoding को स्पष्ट रूप से सेट करना लेकिन क्लाइंट स्वचालित रूप से डीकंप्रेस नहीं करता)।

क्या HTTPS प्रॉक्सी (-x/--proxy) पैरामीटर समर्थित है?

वर्तमान में HTTP प्रॉक्सी (-x/--proxy) पैरामीटर स्वचालित रूप से रूपांतरित नहीं होता है। प्रॉक्सी कॉन्फ़िगरेशन प्रत्येक भाषा में काफी अलग है (JS fetch में नेटिव प्रॉक्सी समर्थन नहीं है Agent की आवश्यकता है, Python proxies= पैरामीटर का उपयोग करता है, Go Transport.Proxy के माध्यम से, PHP CURLOPT_PROXY का उपयोग करता है, C# WebProxy का उपयोग करता है, Java OkHttpClient.Builder().proxy() का उपयोग करता है)। प्रॉक्सी हेडर (प्रॉक्सी का अपना प्रमाणीकरण) भी अलग से हैंडल करने की आवश्यकता है। वर्तमान संस्करण में प्रॉक्सी से संबंधित पैरामीटर अनदेखा किए जाते हैं, आप जनरेट किए गए कोड के आधार पर मैन्युअल रूप से प्रॉक्सी कॉन्फ़िगरेशन जोड़ सकते हैं, भविष्य के संस्करणों में प्रॉक्सी समर्थन को मजबूत किया जाएगा।

curlconverter.com जैसे ऑनलाइन टूल की तुलना में क्या अंतर है?

curlconverter.com जैसे प्रसिद्ध टूल की तुलना में, GeekFormat के curl-to-code के लाभ:①पूरी तरह से स्थानीय प्रोसेसिंग (curlconverter का प्रोसेसिंग लॉजिक सर्वर साइड या क्लाइंट साइड है), डेटा अपलोड नहीं करता अधिक सुरक्षित;②हिंदी इंटरफेस और हिंदी स्पष्टीकरण, स्थानीय डेवलपर्स के लिए अनुकूल;③जनरेट किया कोड वास्तविक प्रोडक्शन उपयोग के लिए अधिक उपयुक्त है (जैसे Python requests JSON बॉडी के लिए data= के बजाय json= पैरामीटर का उपयोग करता है, Go का डिफ़ॉल्ट व्यवहार curl के साथ संरेखित है, C# Content-Type को सही ढंग से हैंडल करता है application/json को हार्डकोड नहीं करता);④साथ में गहन दस्तावेज़ीकरण, FAQ, तुलना तालिकाएं, समस्या निवारण, केवल कोड जनरेट नहीं करता बल्कि यह समझने में भी मदद करता है कि ऐसा क्यों लिखा गया;⑤मुफ्त विज्ञापन-मुक्त, पंजीकरण या लॉगिन की आवश्यकता नहीं, बिना किसी नेटवर्क अनुरोध के उपयोग योग्य।

术语表

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 ऑब्जेक्ट के रूप में पार्स करता है।

cURL सामान्य विकल्प और 11 लक्षित भाषा तुलना तालिका

Content-Type सामान्य मान और curl उपयोग

Chrome DevTools Copy as cURL तीन प्रारूप तुलना

Troubleshooting