您的位置:首页 > 理论基础 > 计算机网络

.net web service and http proxy FAQ

2005-12-20 21:05 591 查看
示例代码如下:
WebProxy proxy = new WebProxy("XXX.XXX.XXX.XXx", port);
proxy.Credentials = new NetworkCredential("user", "pass", "domain");
//如果是域用户认证,则可以直接用:CredentialCaches.DefaultCredential;

// Prepare web request...
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create("http://www.google.com");
myRequest.Method = "GET";

myRequest.Proxy = proxyIe;

说明
1. 建立一个WebProxy,指定代理IP及端口, 设定其Credentials, 即登录代理服务器的用户/密码;
2. 设置WebRequest的proxy属性
如果是WebService,也具有Proxy属性,设置相同.

上面的代码在非asp.net WEB程序中有效,但web程序还需要在web.config添加如下项:
<system.net>

<defaultProxy>
<proxy
usesystemdefault = "false"
proxyaddress="http://XXX.XXX.XXX:port"
bypassonlocal="true"
/>
</defaultProxy>
</system.net>

在.net 2.0 中有auto proxy detection机制,可以自动获取代理设置信息, 并根据一定顺序尝试所有可能的代理,优点是不需要在代码中设置某个代理的信息, 并且可以取到最新的代理设置,无须重启应用程序. 具体请参见下面的引用地址.

未解决的问题:
象QQ一样允许代理设置为IE设置,即不需要再次输入代理服务器的信息, 直接使用IE中的设置, 还未找到办法.

ref:
http://msdn.microsoft.com/msdnmag/issues/05/08/AutomaticProxyDetection/default.aspx

http://support.microsoft.com/default.aspx?scid=kb;en-us;330221
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐