在访问外部 Web 服务 (.NET 2.0) 之前获取代理配置

Posted

技术标签:

【中文标题】在访问外部 Web 服务 (.NET 2.0) 之前获取代理配置【英文标题】:Get Proxy configuration before accessing an external webservice (.NET 2.0) 【发布时间】:2008-11-12 16:32:02 【问题描述】:

当尝试调用外部 Web 服务(通过 Internet)上的方法时,它会抛出我 “远程服务器返回错误:(407) 需要代理身份验证。”

为了解决这个问题,我使用下面的代码来设置我们在办公室使用的代理:

//Set the system proxy with valid server address or IP and port.
System.Net.WebProxy pry = new System.Net.WebProxy("MyHost", 8080);

//The DefaultCredentials automically get username and password.
pry.Credentials = System.Net.CredentialCache.DefaultCredentials;
System.Net.WebRequest.DefaultWebProxy = pry;

这很好,但现在...我需要做“更少的编码”,试图从我的系统中获取信息,而不是手动设置。

【问题讨论】:

【参考方案1】:

这将使用我认为的 IE 的默认代理(未弃用):

Services.MyService service = new Services.MyService();
service.UseDefaultCredentials = true;
service.Proxy = new System.Net.WebProxy();
service.Proxy.Credentials = service.Credentials;

【讨论】:

【参考方案2】:

System.Net.WebProxy.GetDefaultProxy() 尽管 VS 警告它已被弃用。

【讨论】:

你需要 GetDefaultProxy().Address

以上是关于在访问外部 Web 服务 (.NET 2.0) 之前获取代理配置的主要内容,如果未能解决你的问题,请参考以下文章

.Net 2.0 的微 ORM? [关闭]

如何使用 .net 框架 2.0 在 Web 服务中使用 Web api

应用程序中断访问 dbcontext、Asp .net 核心 web api 2.0 与实体框架核心 2.0 数据库第一种方法

asp.net core 2.0 web api基于JWT自定义策略授权

IIS Web服务扩展中没有Asp.net 2.0

JAVA WEB工程上线后,外部无法访问求大神帮助