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

ASP.NET application how to check the proxy used for request?

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

我的代码如下:

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。 对于应用程序,可以通过此代码获得(看起来是你的情况):

IWebProxy appProxy = WebRequest.DefaultWebProxy;

对于某个WebRequest:

IWebProxy requestProxy = request.Proxy;

然后你可以记录来自IWebProxy的信息:

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