curl to Go Converter
एक curl कमांड को तुरंत अपने ब्राउज़र में Go net/http कोड में बदलें। कमांड आपके डिवाइस पर ही रहती है।
आपकी curl कमांड आपके ब्राउज़र में लोकल रूप से Go में बदली जाती है और कभी अपलोड नहीं होती, लेकिन किसी भी टूल में असली प्रोडक्शन टोकन या क्रेडेंशियल पेस्ट करने से बचें।
एक JavaScript संस्करण भी चाहिए? cURL to Fetch आज़माएँ।
curl to Go Converter के बारे में
यह curl to go कन्वर्टर एक curl कमांड को मानक net/http पैकेज का उपयोग करके मुहावरेदार Go के रूप में फिर से लिखता है, ताकि आप एक API कॉल को हाथ से जोड़े बिना सीधे एक Go सेवा में डाल सकें। एक curl to golang टूल के रूप में यह -X, -H, -d, --data-raw, --json, -u, -b, और -G जैसे फ्लैग पढ़ता है, सही मेथड के साथ एक http.NewRequest बनाता है, हर हेडर को req.Header.Set से सेट करता है, और बॉडी को एक strings.NewReader में लपेटता है। जनरेट किया गया main() रिस्पॉन्स को io.ReadAll से पढ़ता है और स्टेटस प्रिंट करता है, go run के साथ कंपाइल के लिए तैयार। इसे तब उपयोग करें जब एक curl टेस्ट को एक बैकएंड हैंडलर, एक CLI, या एक वर्कर में पोर्ट कर रहे हों। रूपांतरण आपके ब्राउज़र में होता है, इसलिए कमांड और उसमें मौजूद कोई भी टोकन आपके डिवाइस पर लोकल रूप से प्रोसेस होते हैं और कभी उससे बाहर नहीं जाते।
विशेषताएँ
- curl फ्लैग से अनुमानित मेथड के साथ एक http.NewRequest कॉल बनाता है
- हर -H/--header मान को req.Header.Set से सेट करता है
- एक अनुरोध बॉडी को strings.NewReader में लपेटता है और strings इम्पोर्ट केवल आवश्यक होने पर जोड़ता है
- रिस्पॉन्स को io.ReadAll से पढ़ता है और res.Status व बॉडी प्रिंट करता है
- -u/--user को एक Basic auth हेडर में मैप करता है और कुकीज़, user-agent, और referer संभालता है
- -G/--get डेटा को URL में एक क्वेरी स्ट्रिंग के रूप में जोड़ता है और एक nil बॉडी भेजता है
- NewRequest और Do के बाद बुनियादी एरर जाँच शामिल करता है ताकि स्निपेट कंपाइल हो
- परिणाम कॉपी करें या उसे एक क्लिक में request.go के रूप में डाउनलोड करें
curl to Go Converter का उपयोग कैसे करें
- अपनी curl कमांड को cURL command बॉक्स में पेस्ट करें।
- आउटपुट पैनल में जनरेट हुआ Go net/http प्रोग्राम पढ़ें।
- किसी भी समायोजित या छोड़े गए फ्लैग के लिए चेतावनी बैनर जाँचें।
- Copy पर क्लिक करें, या फ़ाइल को request.go के रूप में डाउनलोड करें और उसे go run से चलाएँ।
उदाहरण
इनपुट
curl https://api.example.com/ping
आउटपुट
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
url := "https://api.example.com/ping"
req, err := http.NewRequest("GET", url, nil)
if err != nil {
panic(err)
}
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
data, _ := io.ReadAll(res.Body)
fmt.Println(res.Status)
fmt.Println(string(data))
}
एक बॉडी-रहित GET http.NewRequest को nil पास करता है और strings इम्पोर्ट छोड़ देता है।
सामान्य त्रुटियाँ और समस्या निवारण
- कंपाइलर एक imported and not used "strings" एरर बताता है। — वह इम्पोर्ट केवल तब उत्सर्जित होता है जब एक अनुरोध बॉडी हो। यदि आपने बॉडी को हाथ से हटाया है, तो strings इम्पोर्ट भी हटा दें।
- आप http.DefaultClient के बजाय टाइमआउट वाला एक पुन: उपयोग करने योग्य client चाहते हैं। — http.DefaultClient को अपने स्वयं के &http.Client{Timeout: ...} से बदलें; स्निपेट संक्षिप्त रहने के लिए डिफ़ॉल्ट client उपयोग करता है।
- बॉडी कच्चे टेक्स्ट के रूप में भेजी जाती है पर आपके एंडपॉइंट को JSON चाहिए। — Content-Type हेडर curl से आगे ले जाया जाता है। सुनिश्चित करें कि मूल कमांड एक JSON Content-Type सेट करती है या --json उपयोग करती है ताकि हेडर मौजूद हो।
अक्सर पूछे जाने वाले प्रश्न
- मैं एक curl कमांड को Go में कैसे बदलूँ?
- curl कमांड को इनपुट बॉक्स में पेस्ट करें और कन्वर्टर दाईं ओर एक पूर्ण Go net/http प्रोग्राम रेंडर करता है जिसे आप कॉपी या request.go के रूप में डाउनलोड कर सकते हैं।
- क्या जनरेट किया गया Go कोड मानक लाइब्रेरी उपयोग करता है?
- हाँ। यह केवल मानक लाइब्रेरी से net/http, io, fmt, और strings उपयोग करता है, इसलिए इसे चलाने से पहले कुछ अतिरिक्त go get करने की ज़रूरत नहीं है।
- अनुरोध बॉडी Go में कैसे दर्शाई जाती है?
- बॉडी को strings.NewReader में लपेटकर http.NewRequest को पास किया जाता है, और strings इम्पोर्ट केवल तब अपने आप जोड़ा जाता है जब एक बॉडी मौजूद हो।
- क्या मैं आउटपुट को सीधे go run से चला सकता हूँ?
- हाँ। कन्वर्टर एक main() फ़ंक्शन, बुनियादी एरर हैंडलिंग, और रिस्पॉन्स प्रिंटिंग के साथ एक पूर्ण package main उत्सर्जित करता है, इसलिए go run request.go ज्यों-का-त्यों काम करता है।
- जब मैं इसे Go में बदलता हूँ तो क्या मेरी curl कमांड किसी सर्वर पर भेजी जाती है?
- नहीं। curl to go रूपांतरण पूरी तरह आपके ब्राउज़र में चलता है, इसलिए कमांड और उसमें मौजूद कोई भी सीक्रेट आपके डिवाइस पर ही रहते हैं।
संबंधित टूल
सभी ArrayKit टूल