2012-01-27 13 views
15

सी # वेबब्रोसर नियंत्रण/घटक में प्रॉक्सी को कैसे कार्यान्वित करें।सी # वेबब्रोसर नियंत्रण प्रॉक्सी

जो मैं जानना चाहता हूं, प्रॉक्सी को कार्यान्वित करने का तरीका है, इसलिए मेरा सी # वेब ब्राउजर नियंत्रण इस प्रॉक्सी का उपयोग ब्राउज़ करने के लिए ब्राउज़ करने के लिए करता है।

मैं भी रजिस्ट्री के माध्यम से प्रॉक्सी बदलने के लिए ... क्योंकि यह मेरे सामान्य ब्राउज़िंग को प्रभावित नहीं चाहता ...

+0

के संभावित डुप्लिकेट (http://stackoverflow.com/questions [प्रणाली/आईई प्रॉक्सी प्रभावशाली बिना WebBrowser नियंत्रण के लिए एक प्रॉक्सी सेट करने के लिए कैसे]/2499568/कैसे-टू-सेट-ए-प्रॉक्सी-के-वेबब्रोसर-नियंत्रण-बिना-प्रभाव-द-सिस्टम-यानी प्रॉक्सी) –

उत्तर

13
private Uri currentUri; 

     private void Form1_Load(object sender, EventArgs e) 
     { 
      currentUri = new Uri(@"http://www.stackoverflow.com"); 
      HttpWebRequest myRequest = (HttpWebRequest) HttpWebRequest.Create("http://www.stackoverflow.com"); 
      //WebProxy myProxy = new WebProxy("208.52.92.160:80"); 
      //myRequest.Proxy = myProxy; 

      HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse(); 

      webBrowser1.DocumentStream = myResponse.GetResponseStream(); 

      webBrowser1.Navigating += new WebBrowserNavigatingEventHandler(webBrowser1_Navigating); 
     } 

     void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e) 
     { 
      if (e.Url.AbsolutePath != "blank") 
      { 
       currentUri = new Uri(currentUri, e.Url.AbsolutePath); 
       HttpWebRequest myRequest = (HttpWebRequest)HttpWebRequest.Create(currentUri); 

       HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse(); 

       webBrowser1.DocumentStream = myResponse.GetResponseStream(); 
       e.Cancel = true; 
      } 
     } 

आप इसे एक छोटे से साथ खेलने के लिए होगा, लेकिन मैं करने में सक्षम था साइट के चारों ओर ब्राउज़ करें।

या आप WebRequest.DefaultWebProxy सेटिंग को संशोधित करने की कोशिश कर सकते हैं: http://msdn.microsoft.com/en-us/library/system.net.webrequest.defaultwebproxy.aspx

+0

फिर क्या? सभी नेविगेशन घटनाओं को फिर से अपने स्वयं के 'HttpWebRequest' का उपयोग करने के लिए बाधित करें? –

+2

मुझे नहीं लगता कि आप WebRequest.DefaultWebProxy सेट कर सकते हैं, लेकिन आप इसे स्वयं रोक सकते हैं और अपना स्वयं का नेविगेशन बना सकते हैं। –

+1

धन्यवाद ... यह मेरे लिए बहुत उपयोगी है – xhah730

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