मैं एक वेब एपीआई एकीकरण परीक्षण कर रहा हूं।डिफ़ॉल्ट अनुरोध हैडर किसी भी मान को हमेशा स्वीकार नहीं करता है
मैं एक HTTP अनुरोध के शीर्षक के लिए अपने वाहक टोकन पास करना चाहते हैं:
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "eJ43k5l435j34l5j43l5j34l5jl35j34l5j344l.4534535.534534sample...");
जब कोड की इस पंक्ति से किया जाता है मैं httpClient.DefaultRequestHeaders.Authorization
संपत्ति की जांच करेंगे और यह NULL है?
यह क्यों?
अद्यतन
यह मेरा एकीकरण परीक्षण वर्ग के आधार वर्ग से है:
protected HttpClient Client { get { return server.HttpClient; } }
जब मैं मैन्युअल रूप से ऊपर नए परीक्षण कक्षा में एक http ग्राहक:
var client = new HttpClient();
client.DefaultRequestHeaders.Add("key","value");
यह काम करता है लेकिन मेरे ग्राहक के साथ नहीं!
अद्यतन 2
ठीक मैं इस पता चला:
var c = Client;
c.DefaultRequestHeaders.Add("bla", "bla");
आईटी काम करता है, लेकिन क्यों मैं एक नया चर में मेरे मुवक्किल को पढ़ने के लिए है?
मुझे लगता है कि मुझे इसे हल करने के लिए थोड़ा और कोड चाहिए .. आपकी पहली पंक्ति में 'httpClient' कहां से आ रहा है? जैसा कि मैंने इसे देखा है, यह एक HttpClient ऑब्जेक्ट है, यह है कि 'संरक्षित HttpClient क्लाइंट {से एक नया ऑब्जेक्ट {get server.HttpClient; }} '?? यदि, 'सर्वर' के साथ क्या किया जाता है। और क्या आप एपीआई पर इस कोड का उपयोग कर रहे हैं, या एक एपीआई का उपयोग कर एक आवेदन? – CularBytes
क्या आप अपने सर्वर चर के प्रकार के बारे में कुछ जानकारी जोड़ सकते हैं? यदि यह एक वर्ग है जिसे आपने बनाया है या ढांचा प्रकार है। यदि यह आपकी खुद की एक श्रेणी है, तो क्या आप एचटीपी क्लाइंट को तत्काल कैसे शुरू किया जा रहा है, इस बारे में अधिक जानकारी दे सकते हैं? –
क्या आपको कभी इसका समाधान मिला? मेरे पास एक ही समस्या है, एक वेबएपीआई 2 कोडबेस पर एकीकरण परीक्षण चलाने की कोशिश कर रहा है, और मैं हेडर असाइन करता हूं (जैसा कि आप करते हैं) और तुरंत अगली पंक्ति पर यह हमेशा शून्य है ... यह मुझे पागल कर रहा है।HttpClient पर हेडर सेट करने के बजाय, मुझे एक (एकल) उदाहरण मिला जहां प्रोग्रामर ने इसके बजाय HttpMessageRequest पर शीर्षलेख सेट किया, और उदाहरण के लिए HttpClient.PostAsJson की बजाय HttpClient.SendAsync का उपयोग करके भेजा ... यह मुझे बहुत खर्च करता है समय और मुझे अभी भी पता नहीं है कि हेडर क्लाइंट पर हेडर क्यों सेट नहीं किया जा सकता है ?? –