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

时间:2018-10-11 08:36:58

标签: c# asp.net webrequest

我有一个通过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();

有什么主意吗?谢谢。

1 个答案:

答案 0 :(得分:3)

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

IWebProxy appProxy = WebRequest.DefaultWebProxy;

对于某个WebRequest

IWebProxy requestProxy = request.Proxy;

然后,您可以记录来自该IWebProxy的信息:

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