2011-06-09 11 views
7

मैं वेब पेजों के स्क्रीनशॉट जेनरेट करने के लिए अपने एएसपीनेट एप्लिकेशन में वेबब्रोसर नियंत्रण का उपयोग कर रहा हूं। जब तक मैं एप्लिकेशन पूल खाता नहीं बदलता तब तक मैं छवियां उत्पन्न करने में सक्षम था। मैंने नया आवेदन पूल सभी आवश्यक अधिकार दिए हैं और मैं अपने पृष्ठों को आईई से ब्राउज़ करने में सक्षम हूं। लेकिन जब मैं प्रोग्रामिंग के माध्यम से वेब ब्राउज़र नियंत्रण के माध्यम से इसे नेविगेट करता हूं तो मुझे 401.2 मिल रहा है। मैंने अपने आईआईएस 7.0 में "विफल अनुरोध ट्रेसिंग नियम" सेट अप किया है और अनुरोधों को स्नीफ करने के लिए फिडलर का उपयोग किया है और मुझे पता चला है कि प्रमाणीकरण हेडर सही नहीं है।वेबब्रोसर नियंत्रण के लिए प्रमाणीकरण शीर्षलेख सेट करना - एएसपी.नेट

लेकिन वेबब्रोसर.नाविगेट में एक अधिभारित विधि है जहां हम कस्टम http शीर्षलेख पास कर सकते हैं। मैं इसे कैसे सेट कर सकता हूं? मैं सिर्फ एकीकृत प्रमाणीकरण का उपयोग करना चाहता हूं और कोड में उपयोगकर्ता नाम/पासवर्ड नहीं देना चाहता क्योंकि मुझे शायद यह पता न हो। लेकिन फिर भी मैंने बिना किसी किस्मत के निम्नलिखित कोड की कोशिश की।

System.Uri uri = new Uri(myUrl); 
byte[] authData = System.Text.UnicodeEncoding.UTF8.GetBytes("user: passwd"); 
string authHeader = "Authorization: Basic " + Convert.ToBase64String(authData) + "\r\n"; 
myBrowser.Navigate(uri, "", null, authHeader); 

कोई विचार है कि हेडर को अन्य विवरण जैसे उपयोगकर्तागेंट के साथ कैसे सेट करें?

उत्तर

4

आप शीर्षक में उपयोगकर्ता एजेंट शामिल करना चाहते हैं, तो आप शायद कुछ इस तरह करना चाहिए:

string authHeader = "Authorization: Basic " + Convert.ToBase64String(authData) + 
     "\r\n" + "User-Agent: MyUserAgent\r\n"; 

बस याद रखें कि प्रत्येक हेडर एक गाड़ी वापसी लाइनफीड जोड़ी के साथ समाप्त किया जाना चाहिए।

+0

यह सिर्फ एक झटका था। क्या मुझे 401 जेनरेट किया जा सकता है क्योंकि मेरे पास उपयोगकर्ता एजेंट निर्दिष्ट नहीं है? Http शीर्षलेख में अनिवार्य चीजें क्या हैं? – NLV

+0

@ एनएलवी: मुझे यकीन नहीं है कि आपके मामले में क्या आवश्यक है। आप कहते हैं कि आईई से नेविगेशन काम करता है? आईई से अनुरोध में हेडर की जांच करें। –

+0

मैंने विंडोज़ फॉर्म एप्लिकेशन में एक ही कोड की कोशिश की। यहां तक ​​कि अगर मैं स्पष्ट रूप से प्रमाणीकरण शीर्षलेख को खाली होने के लिए सेट करता हूं और पृष्ठ का अनुरोध करता हूं तो मैं नियंत्रण में पृष्ठ लोड करने में सक्षम हूं। और वेब ऐप अज्ञात पहुंच के लिए कॉन्फ़िगर नहीं किया गया है। क्या आप इसे समझा सकते हैं? मैं सोचना शुरू करता हूं कि जो भी वैध लेखक शीर्षलेख मैं अनुरोध पर सेट कर रहा हूं, वह प्रतिक्रिया नहीं दे रहा है। – NLV

संबंधित मुद्दे