如何在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中使用Internet Explorer中使用的代理.网络应用程序

没有系统范围的默认代理。因此,只能使用当前用户的配置。如果没有这样的配置,则有问题。

你可以尝试运行你的ASP的应用程序池。. NET应用程序下的用户具有代理配置或查看组策略,这确实支持设置系统范围的代理。