[C#] मैं HttpClient के HttpRequestMessage पर एक कुकी कैसे सेट करूं?


Answers

स्वीकार किए गए उत्तर ज्यादातर मामलों में ऐसा करने का सही तरीका है। हालांकि, कुछ स्थितियां हैं जहां आप कुकी हेडर मैन्युअल रूप से सेट करना चाहते हैं। आम तौर पर यदि आप "कुकी" हेडर सेट करते हैं तो इसे अनदेखा किया जाता है, लेकिन ऐसा इसलिए है क्योंकि HttpClientHandler कुकीज़ के लिए अपनी कुकी CookieContainer संपत्ति का उपयोग करने के लिए डिफ़ॉल्ट है। यदि आप इसे अक्षम करते हैं तो UseCookies को false सेट UseCookies आप कुकी हेडर मैन्युअल रूप से सेट कर सकते हैं और वे अनुरोध में दिखाई देंगे, उदाहरण के लिए

var baseAddress = new Uri("http://example.com");
using (var handler = new HttpClientHandler { UseCookies = false })
using (var client = new HttpClient(handler) { BaseAddress = baseAddress })
{
    var message = new HttpRequestMessage(HttpMethod.Get, "/test");
    message.Headers.Add("Cookie", "cookie1=value1; cookie2=value2");
    var result = await client.SendAsync(message);
    result.EnsureSuccessStatusCode();
}
Question

मैं एक HttpClient पर एक पोस्ट करने के लिए वेब एपीआई के HttpClient का उपयोग करने की कोशिश कर रहा हूं जिसके लिए एक HTTP कुकी के रूप में लॉगिन की आवश्यकता होती है जो खाते की पहचान करता है (यह केवल कुछ ऐसा है जो रिलीज संस्करण से #ifdef 'ed है)।

मैं HttpRequestMessage कुकी कैसे जोड़ूं?




Links