【发布时间】:2011-12-06 15:35:51
【问题描述】:
我想在 C#.NET 中设置一个代理,问题是,我将如何使所有 Web 请求和 Web 浏览器控件通过代理连接?像 SOCKS 代理?
我需要将它应用于任何 Web 浏览器控件或任何 Web 请求。如果我可以将其设置为使来自用户计算机的所有传出请求都通过代理发送,那将是最好的。
【问题讨论】:
我想在 C#.NET 中设置一个代理,问题是,我将如何使所有 Web 请求和 Web 浏览器控件通过代理连接?像 SOCKS 代理?
我需要将它应用于任何 Web 浏览器控件或任何 Web 请求。如果我可以将其设置为使来自用户计算机的所有传出请求都通过代理发送,那将是最好的。
【问题讨论】:
默认情况下,您的 C# 代码将使用在 IE 连接设置中设置的系统代理。
如果你想显式,你可以通过 System.net 下的 config 来实现:
<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
【讨论】: