2012-01-27 21 views
15

C#WebBrowserコントロール/コンポーネントでプロキシを実装する方法。C#WebBrowserコントロールプロキシ

私が知りたいのは、プロキシを実装する方法なので、C#webBrowserコントロールは実行時にこのプロキシをブラウズに使用します。

それは私の通常の閲覧に影響を与えるので、私はまた、あなたがそれで少しプレイしているよ... ...レジストリを通じてプロキシを変更する

+0

の可能複製(http://stackoverflow.com/questions [SYSTEM/IEのプロキシに影響を与えることなく、ウェブブラウザコントロールのプロキシを設定する方法]/2499568/web-browser-for-proxy-for-web-browser-control-how-to-set-system-ie-proxy) –

答えて

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

関連する問題