Rilevamento automatico proxyAutomatic Proxy Detection

Il rilevamento automatico del proxy è un processo con cui un server proxy Web viene identificato dal sistema e usato per inviare richieste per conto del client.Automatic proxy detection is a process by which a Web proxy server is identified by the system and used to send requests on behalf of the client. Questa funzionalità è nota anche come Rilevamento automatico proxy Web (WPAD).This feature is also known as Web Proxy Auto-Discovery (WPAD). Quando il rilevamento automatico del proxy è abilitato, il sistema tenta di trovare uno script di configurazione del proxy responsabile della restituzione del set di proxy che possono essere usati per la richiesta.When automatic proxy detection is enabled, the system attempts to locate a proxy configuration script that is responsible for returning the set of proxies that can be used for the request. Se viene trovato, lo script di configurazione del proxy viene scaricato, compilato ed eseguito nel computer locale quando per una richiesta che usa un'istanza WebProxy vengono ottenute le informazioni del proxy, la risposta o il flusso di richieste.If the proxy configuration script is found, the script is downloaded, compiled, and run on the local computer when proxy information, the request stream, or the response is obtained for a request that uses a WebProxy instance.

Il rilevamento automatico del proxy viene eseguito dalla classe WebProxy e può usare impostazioni a livello di richiesta, impostazioni del file di configurazione e impostazioni specificate tramite la finestra di dialogo Rete locale (LAN) di Internet Explorer.Automatic proxy detection is performed by the WebProxy class and can employ request-level settings, settings in configuration files, and settings specified using the Internet Explorer Local Area Network (LAN) dialog box.

Nota

È possibile visualizzare la finestra di dialogo di Internet Explorer Impostazioni rete locale (LAN) selezionando Strumenti dal menu principale di Internet Explorer e quindi scegliendo Opzioni Internet.You can display the Internet Explorer Local Area Network (LAN) Settings dialog box by selecting Tools from the Internet Explorer main menu and then selecting Internet Options. Selezionare quindi la scheda Connessioni e scegliere Impostazioni LAN.Next, select the Connections tab, and click LAN Settings.

Se il rilevamento automatico del proxy è abilitato, la classe WebProxy tenta di individuare lo script di configurazione del proxy come indicato di seguito:When automatic proxy detection is enabled, the WebProxy class attempts to locate the proxy configuration script as follows:

  1. La funzione di WinINet InternetQueryOption consente di individuare l'ultimo script di configurazione del proxy rilevato da Internet Explorer.The WinINet InternetQueryOption function is used to locate the proxy configuration script most recently detected by Internet Explorer.

  2. Se lo script non viene individuato, la classe WebProxy usa il Dynamic Host Configuration Protocol (DHCP) per trovarlo.If the script is not located, the WebProxy class uses the Dynamic Host Configuration Protocol (DHCP) to locate the script. Il server DHCP può rispondere specificando il percorso (nome host) o l'URL completo dello script.The DHCP server can respond either with the location (host name) of the script or with the full URL for the script.

  3. Se DHCP non identifica l'host WPAD, viene eseguita una query sul server DNS per trovare un host con WPAD come nome o alias.If DHCP does not identify the WPAD host, DNS is queried for a host with WPAD as its name or alias.

  4. Se l'host non viene identificato ma nelle impostazioni della LAN di Internet Explorer o in un file di configurazione è specificato il percorso di uno script di configurazione del proxy, viene usato questo percorso.If the host is not identified and the location of a proxy configuration script is specified by the Internet Explorer LAN settings or a configuration file, this location is used.

Nota

Le applicazioni in esecuzione come servizio NT o nell'ambito di ASP.NET usano le impostazioni del server proxy configurate dall'utente chiamante in Internet Explorer (se disponibili).Applications running as an NT Service or as part of ASP.NET use the Internet Explorer proxy server settings (if available) of the invoking user. È possibile che queste impostazioni non siano disponibili per tutte le applicazioni di servizio.These settings may not be available for all service applications.

I proxy vengono configurati a livello di singolo connettoide.Proxies are configured on a per-connectoid basis. Un connettoide è un elemento della finestra di dialogo di connessione di rete e può essere un dispositivo di rete fisico (modem o scheda Ethernet) o un'interfaccia virtuale (ad esempio, una connessione VPN in esecuzione su un dispositivo di rete).A connectoid is an item in the network connection dialog, and can be a physical network device (a modem or Ethernet card) or a virtual interface (such as a VPN connection running over a network device). Se un connettoide cambia (ad esempio, una connessione wireless modifica un punto di accesso o viene abilitata una rete VPN), l'algoritmo di rilevamento del proxy viene eseguito nuovamente.When a connectoid changes (for example, a wireless connection changes an access point, or a VPN is enabled), the proxy detection algorithm is run again.

Per impostazione predefinita, per il rilevamento del proxy vengono usate le impostazioni del proxy definite in Internet Explorer.By default, the Internet Explorer proxy settings are used to detect the proxy. Se l'applicazione è in esecuzione con un account interattivo (senza un modo pratico per configurare le impostazioni del proxy in Internet Explorer) o se si vuole usare impostazioni del proxy diverse rispetto a quelle di Internet Explorer, è possibile configurare il proxy creando un file di configurazione con gli elementi Elemento <defaultProxy> (Impostazioni di rete) ed Elemento <proxy> (Impostazioni di rete) definiti.If your application is running under a non-interactive account (without a convenient way to configure IE proxy settings), or if you want to use proxy settings different than the IE settings, you can configure your proxy by creating a configuration file with the <defaultProxy> Element (Network Settings) and <proxy> Element (Network Settings) elements defined.

Per le richieste create, è possibile disabilitare il rilevamento automatico del proxy a livello di richiesta specificando un valore Proxy null con la richiesta, come illustrato nell'esempio di codice seguente.For requests that you create, you can disable automatic proxy detection at the request level by using a null Proxy with your request, as shown in the following code example.

public static void DisableForMyRequest (Uri resource)  
{  
    WebRequest request = WebRequest.Create (resource);  
    request.Proxy = null;  
    WebResponse response = request.GetResponse ();  
}  
Public Shared Sub DisableForMyRequest(ByVal resource As Uri)  
    Dim request As WebRequest = WebRequest.Create(resource)  
    request.Proxy = Nothing  
    Dim response As WebResponse = request.GetResponse()  
    End Sub   

Le richieste in cui non è specificato un proxy usano il proxy predefinito del dominio dell'applicazione, disponibile nella proprietà DefaultWebProxy.Requests that do not have a proxy use your application domain's default proxy, which is available in the DefaultWebProxy property.

Vedere ancheSee Also

WebProxy
WebRequest
Elemento <system.Net> (impostazioni di rete)<system.Net> Element (Network Settings)