如何在asp.net中使用Internet Explorer中使用的代理.网络应用程序
本文关键字:代理 网络 应用程序 Explorer Internet net asp | 更新日期: 2023-09-27 17:52:41
. NET应用程序,我使用WebRequest类,我想使用默认的系统代理。这是我使用的代码。
private static bool CheckIfUriIsReachable(string uri)
{
bool reachable = true;
var request = (HttpWebRequest)WebRequest.Create(uri);
request.Method = "HEAD";
var proxy = WebRequest.GetSystemWebProxy();
proxy.Credentials = CredentialCache.DefaultCredentials;
request.Proxy = proxy;
HttpWebResponse response = null;
try
{
response = (HttpWebResponse)request.GetResponse();
}
catch (WebException)
{
reachable = false;
}
finally
{
if (response != null)
{
response.Close();
}
}
return reachable ;
}
当作为控制台应用程序的一部分运行时,它可以很好地工作-它正确地拾取系统代理(我假设是PC上登录用户的IE代理),然而,当作为ASP的一部分运行时,这不起作用。. NET应用程序在同一台机器上。没有找到代理。
我想这是因为ASP。. NET在系统注册表中没有IE代理设置的用户帐户下运行。我试着把以下内容包括在网站上。配置文件,但这不起作用。
<system.net>
<defaultProxy>
<proxy usesystemdefault="true" />
</defaultProxy>
</system.net>
我的问题是如何设置ASP。. NET 3.5应用程序正确使用IE使用的默认代理?
没有系统范围的默认代理。因此,只能使用当前用户的配置。如果没有这样的配置,则有问题。
你可以尝试运行你的ASP的应用程序池。. NET应用程序下的用户具有代理配置或查看组策略,这确实支持设置系统范围的代理。