2

在.Net 2.0中,以下曾经工作:

HttpWebRequest httpWReq = (HttpWebRequest)WebRequest.Create("http://www.google.com");
            WebProxy proxy = (WebProxy) WebRequest.DefaultWebProxy;

我正在使用 .Net 4.5,现在它正在返回IWebProxy而不是WebProxy.

我怎样才能将它转换为WebProxy而不是IWebProxy

我想这样做的原因是要检查proxy.Address.AbsoluteUri它是无法使用的IWebProxy

4

1 回答 1

2

看起来WebRequest.DefaultWebProxy总是返回 a IWebProxy,但底层的具体类型已经改变。因此,与其依赖底层类型,不如尽可能确定如何通过接口做同样的事情。为此,以下内容应该给你Uri你想要的。

WebRequest.DefaultWebProxy.GetProxy(httpWReq.Address).AbsoluteUri 
于 2015-09-11T16:03:17.823 回答