curl को Go में बदलें
मानक net/http पैकेज का उपयोग करके curl कमांड को Go कोड में बदलें। curl2code पूरी तरह से WebAssembly के माध्यम से आपके ब्राउज़र में चलता है — आपका डेटा निजी रहता है। यदि आप उच्च-स्तरीय भाषा पसंद करते हैं, तो हमारा curl to Python कनवर्टर आज़माएँ। सिस्टम प्रोग्रामिंग के लिए, curl to Rust देखें। नीचे उपयोग के लिए तैयार Go उदाहरण दिए गए हैं।
अपने ब्राउज़र से curl कैसे कॉपी करें
- 1
DevTools खोलें
अपने ब्राउज़र डेवलपर टूल खोलने के लिए F12 या Ctrl+Shift+I दबाएं।
- 2
Network टैब पर जाएं
Network टैब पर क्लिक करें और वह क्रिया करें जो HTTP रिक्वेस्ट को ट्रिगर करती है।
- 3
cURL के रूप में कॉपी करें
रिक्वेस्ट पर राइट-क्लिक करें → Copy → Copy as cURL। फिर इसे ऊपर पेस्ट करें।
अक्सर पूछे जाने वाले प्रश्न
Go net/http क्या है?
Go का net/http स्टैंडर्ड लाइब्रेरी में शामिल एक प्रोडक्शन-ग्रेड HTTP क्लाइंट और सर्वर है। इसके लिए किसी बाहरी डिपेंडेंसी की आवश्यकता नहीं है, यह डिफ़ॉल्ट रूप से HTTP/2 का समर्थन करता है, और आउट-ऑफ-द-बॉक्स कनेक्शन पूलिंग, टाइमआउट और TLS कॉन्फ़िगरेशन प्रदान करता है। यह एकमात्र लाइब्रेरी है जिसे curl2code Go के लिए उपयोग करता है — किसी तीसरे पक्ष के पैकेज की आवश्यकता नहीं है।
net/http बनाम थर्ड-पार्टी Go HTTP क्लाइंट — किसका उपयोग करें?
Go का net/http अधिकांश उपयोग के मामलों के लिए पर्याप्त शक्तिशाली है — कई भाषाओं के विपरीत, इसकी स्टैंडर्ड लाइब्रेरी प्रोडक्शन के लिए तैयार है। resty जैसे थर्ड-पार्टी विकल्प सुविधा (ऑटो-रिट्राइज़, चेनिंग) जोड़ते हैं लेकिन डिपेंडेंसी भी बढ़ाते हैं। इसी तरह के बैटरी-शामिल दृष्टिकोण के लिए, हमारा curl to Rust converter (reqwest) या curl to Python देखें।
Go में प्रमाणीकरण (authentication) को कैसे संभालें?
Authorization के साथ req.Header.Set("Authorization", "Bearer "+token) हेडर सेट करें। Basic auth के लिए, req.SetBasicAuth(user, pass) का उपयोग करें जो स्वचालित रूप से हेडर सेट करता है। curl2code -u और -H 'Authorization: ...' का पता लगाता है और सही Go कोड जेनरेट करता है।
Go में मल्टीपार्ट फॉर्म डेटा कैसे भेजें?
mime/multipart पैकेज का उपयोग करें: multipart.NewWriter(body) के साथ एक राइटर बनाएं, CreateFormField के साथ फ़ील्ड जोड़ें, और CreateFormFile के साथ फ़ाइलें जोड़ें। Content-Type को writer.FormDataContentType() पर सेट करें। curl2code सभी -F फ्लैग रूपांतरणों को संभालता है।
Go में HTTP त्रुटियों को कैसे संभालें?
Go स्पष्ट त्रुटि रिटर्न का उपयोग करता है: if err != nil के बाद हमेशा http.Do(req) की जांच करें। फिर HTTP-स्तर की त्रुटियों के लिए resp.StatusCode की जांच करें। संसाधन लीक को रोकने के लिए हमेशा defer resp.Body.Close() करें। यह स्पष्ट त्रुटि प्रबंधन एक मुख्य Go पैटर्न है — कोई अपवाद नहीं, कोई try/catch नहीं।
Go में समवर्ती (concurrent) HTTP अनुरोध कैसे करें?
sync.WaitGroup या चैनलों के साथ गोरौटीन्स (goroutines) का उपयोग करें। go func() { ... }() के साथ प्रत्येक अनुरोध को एक गोरौटीन में लॉन्च करें। सीमित समवर्तीता के लिए, सेमाफोर चैनल का उपयोग करें। Go के गोरौटीन्स हल्के होते हैं — आप आसानी से हजारों समवर्ती अनुरोधों को संभाल सकते हैं। इसी तरह के समवर्ती पैटर्न के लिए, curl to Rust देखें।
Go HTTP क्लाइंट में टाइमआउट कैसे सेट करें?
समग्र अनुरोध समय सीमा के लिए client.Timeout सेट करें। बारीक नियंत्रण के लिए, context.WithTimeout या context.WithDeadline का उपयोग करें और संदर्भ को http.NewRequestWithContext पर पास करें। curl का --connect-timeout, Transport.DialContext टाइमआउट से मैप होता है, --max-time, client.Timeout से मैप होता है।
Go में प्रॉक्सी कैसे कॉन्फ़िगर करें?
एक कस्टम Transport.Proxy पर http.ProxyURL(proxyUrl) को http.Transport पर सेट करें। Go डिफ़ॉल्ट रूप से HTTP_PROXY के माध्यम से HTTPS_PROXY और http.ProxyFromEnvironment एनवायरनमेंट वेरिएबल्स का भी सम्मान करता है। curl2code -x और --proxy फ्लैग्स को उपयुक्त Go प्रॉक्सी कॉन्फ़िगरेशन में बदल देता है।
Go में JSON body के साथ POST request कैसे भेजें?
curl2code का उपयोग करके curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL जैसे curl POST कमांड को Go में बदलें। जेनरेट किया गया कोड http.Post(url, "application/json", bytes.NewBuffer(jsonData)) का उपयोग करता है। curl2code स्वचालित रूप से JSON कंटेंट वाले -d/--data फ्लैग्स का पता लगाता है और net/http कोड में उपयुक्त Content-Type हेडर सेट करता है।
Go में Bearer token authorization कैसे जोड़ें?
curl2code को curl -H "Authorization: Bearer YOUR_TOKEN" URL पास करें और यह auth हेडर के साथ net/http कोड जेनरेट करता है: req.Header.Set("Authorization", "Bearer YOUR_TOKEN")। curl2code -H "Authorization: Bearer ..." और --oauth2-bearer दोनों फ्लैग्स से Bearer tokens का पता लगाता है। Basic auth के लिए, -u user:pass का उपयोग करें।
Go में Content-Type हेडर कैसे सेट करें?
curl2code curl -H "Content-Type: application/json" URL को उचित हेडर के साथ net/http कोड में बदल देता है: req.Header.Set("Content-Type", "application/json")। -d डेटा के लिए, curl डिफॉल्ट रूप से application/x-www-form-urlencoded का उपयोग करता है; -F फॉर्म अपलोड के लिए, यह multipart/form-data का उपयोग करता है। curl2code प्रत्येक को सही net/http API पर मैप करता है।