系统.InvalidCastException:无法转换类型为'WebProxyWrapper'输入&#

本文关键字:WebProxyWrapper 输入 类型 InvalidCastException 转换 系统 | 更新日期: 2023-09-27 18:12:17

在。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访问

系统.InvalidCastException:无法转换类型为'WebProxyWrapper'输入&#

看起来WebRequest.DefaultWebProxy总是返回一个IWebProxy,但是底层的具体类型已经改变了。因此,与其依赖底层类型,不如决定如何在可能的情况下通过接口完成相同的事情。为了达到这个目的,下面的代码应该会给你想要的Uri

WebRequest.DefaultWebProxy.GetProxy(httpWReq.Address).AbsoluteUri