C# ASP.NET应用程序如何检查用于请求的代理?

C# ASP.NET应用程序如何检查用于请求的代理?,c#,asp.net,webrequest,C#,Asp.net,Webrequest,我有一个通过web代理调用某些服务的应用程序。 我想显示有关用于请求的代理的信息。 我该怎么做 我的代码如下所示: WebRequest request = WebRequest.Create(url); request.Credentials = CredentialCache.DefaultCredentials; HttpWebResponse response = (HttpWebResponse)request.GetResponse(); log(response.StatusDes

我有一个通过web代理调用某些服务的应用程序。 我想显示有关用于请求的代理的信息。 我该怎么做

我的代码如下所示:

WebRequest request = WebRequest.Create(url);
request.Credentials = CredentialCache.DefaultCredentials;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
log(response.StatusDescription);
// HERE I'd like something like log(request.getProxy()))
reponse.Close();

有什么想法吗?谢谢。

可以为整个应用程序配置代理,也可以为某些
WebRequest
覆盖代理。 对于应用程序,它可以通过以下代码获得(看起来是您的情况):

对于特定的
WebRequest

IWebProxy requestProxy = request.Proxy;
然后,您可以从该
IWebProxy
记录信息:

string proxyAddress = appProxy.GetProxy(new Uri(url)).ToString();
Console.WriteLine(proxyaddress);

谢谢你的回复,但我不明白
requestProxy.GetProxy(新Uri(url)).ToString()
返回我在变量
url
中设置的相同url。我应该知道代理地址?不是吗?这意味着代理未配置。查看如何在中配置代理。如果它被配置,那么它将返回您期望的代理地址,否则它将返回
url
变量值。。。非常感谢你!
string proxyAddress = appProxy.GetProxy(new Uri(url)).ToString();
Console.WriteLine(proxyaddress);