2011-10-13 151 views
1

我想在C#.NET中設置一個代理,事情是,我將如何使所有的Web請求和Web瀏覽器控件通過代理連接?像SOCKS代理一樣?在C#中設置代理?

我需要它適用於任何Web瀏覽器控件或任何Web請求。如果我能夠設置它,最好的方式是讓用戶機器發出的所有請求都通過代理髮送。

回答

0

默認情況下,您的C#代碼將使用您的IE連接設置中設置的系統代理。

如果你想成爲明確的,你可以通過配置System.net下做到這一點:

<defaultProxy useDefaultCredentials="true"> 
    <proxy usesystemdefault="true" proxyaddress="[proxy address]" bypassonlocal="true" /> 
</defaultProxy> 

編程,您可以設置代理:

http://msdn.microsoft.com/en-us/library/system.net.webproxy.aspx

WebProxy proxyObject = new WebProxy("http://proxyserver:80/",true); 
WebRequest req = WebRequest.Create("http://www.contoso.com"); 
req.Proxy = proxyObject; 

編輯: 對於網頁瀏覽器控制,試試這個SO帖子:(免責聲明 - 沒有試過)

How to set a proxy for Webbrowser Control without effecting the SYSTEM/IE proxy

+0

我明白了,但WebProxy對象只適用於那個單一的webrequest,我怎樣才能將它應用到Web瀏覽器控件?另外,如何編輯System.net的配置? – Bob

+0

在不影響IE設置的情況下,使用設置設置代理對Web瀏覽器控件進行編輯。 – bryanmac

+0

好的,所以我讀了另一篇文章,有人說它不可能不改變IE設置,除了一篇文章談論某些代碼......但我將如何實現他提供的內容? – Bob