我有一个通过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();
有什么主意吗?谢谢。
答案 0 :(得分:3)
可以为整个应用程序配置代理,并且可以为某些WebRequest
覆盖。
对于应用程序,可以通过以下代码获得(看起来就像您的情况一样):
IWebProxy appProxy = WebRequest.DefaultWebProxy;
对于某个WebRequest
:
IWebProxy requestProxy = request.Proxy;
然后,您可以记录来自该IWebProxy
的信息:
string proxyAddress = appProxy.GetProxy(new Uri(url)).ToString();
Console.WriteLine(proxyaddress);