cURL से C#
curl कमांड पेस्ट करें और ऐसा C# कोड पाएँ जिसमें हेडर वहीं हों जहाँ .NET चाहता है।
cURL से C# पूरी तरह आपके ब्राउज़र में चलता है: पेस्ट किए गए कमांड, token सहित, आपके डिवाइस पर बदलते हैं और कभी अपलोड नहीं होते।
cURL से Java खोलें
cURL से C# के बारे में
API डॉक्यूमेंटेशन से curl कमांड उठाकर C# में दोबारा लिखना एक छोटा काम है जो हमेशा एक ही जगह बिगड़ता है: .NET हेडर को रिक्वेस्ट और उसके कंटेंट में बाँट देता है। Content-Type HttpContent का है, HttpRequestMessage का नहीं, और गलत ऑब्जेक्ट पर सेट करने से compile नहीं, runtime पर exception आता है। यह कन्वर्टर curl के flags पढ़ता है — method, headers, body और वह -u जो basic authentication बन जाता है — और ऐसा HttpClient प्रोग्राम बनाता है जिसमें हर header सही जगह हो।
विशेषताएँ
- method, headers, body और basic authentication को पार्स करता है
- Content-Type को StringContent पर रखता है, जैसा .NET माँगता है
- -u credentials को AuthenticationHeaderValue बनाता है
- Non-standard verbs HttpMethod constructor से
- request के हिसाब से ही using directives
- JSON body को valid C# literal में escape करता है
cURL से C# का उपयोग कैसे करें
- curl कमांड headers और body सहित पेस्ट करें
- बना हुआ C# लिखते ही पढ़ें
- कॉपी करें या Program.cs डाउनलोड करें
- जो flags translate नहीं हुए उनके warnings देखें
उदाहरण
इनपुट
curl -X POST https://api.example.com/users -H "Content-Type: application/json" -d '{"name":"Ada"}'
आउटपुट
request.Content = new StringContent(
"{\"name\":\"Ada\"}",
Encoding.UTF8,
"application/json");
media type StringContent पर जाता है, request.Headers पर नहीं — यही गलती runtime exception देती है।
सामान्य त्रुटियाँ और समस्या निवारण
- Content-Type सेट करने पर InvalidOperationException आता है। — .NET में यह content header है: इसे HttpContent पर सेट करना होता है, जैसा बना हुआ कोड करता है।
- curl में चलता है पर C# में 401 आता है। — देखें credentials कैसे जा रहे हैं: -u base64 वाला basic header बनता है, और line break के साथ पेस्ट किया token fail होता है।
अक्सर पूछे जाने वाले प्रश्न
- curl कमांड को C# में कैसे बदलें?
- ऊपर पेस्ट करें: method, URL, headers और body पार्स होकर HttpClient प्रोग्राम बन जाते हैं।
- HttpRequestMessage पर Content-Type क्यों नहीं लगता?
- क्योंकि .NET request और content headers अलग रखता है, और Content-Type content header है — request.Headers पर यह exception देता है।
- C# में basic authentication कैसे भेजें?
- user:password को base64 में बदलें और DefaultRequestHeaders में Basic scheme के साथ AuthenticationHeaderValue लगाएँ।
- क्या मेरा curl कमांड कहीं भेजा जाता है?
- नहीं। यह आपके ब्राउज़र में पार्स और कन्वर्ट होता है, इसलिए इसमें मौजूद token और key डिवाइस पर ही रहते हैं।
संबंधित टूल
सभी ArrayKit टूल