c# proxy system.net system.net.httpwebrequest

c# - Obtenga el proxy predeterminado de IE con DefaultWebProxy



system.net system.net.httpwebrequest (1)

WebRequest.DefaultWebProxy implementa la interfaz IWebProxy . Puede usar el método GetProxy para obtener el URI del proxy:

var uri = WebRequest.DefaultWebProxy.GetProxy(new Uri("http://www.google.com"));

Respuesta a un comentario:

GetProxy pasar el uri a GetProxy porque así lo implementó Microsoft ...

En serio, creo que esto es así porque puedes configurar el navegador para eludir el proxy de algunas direcciones. Si pasa una de estas direcciones anuladas, probablemente obtendrá un resultado diferente.

He leído prácticamente toda la documentación que puedo encontrar, pero todavía no he encontrado un ejemplo práctico simple de cómo obtener la configuración de proxy predeterminada de IE con DefaultWebProxy() .

Este código parece compilarse y funcionar, pero ¿cómo puedo continuar y obtener el URI del proxy como una cadena?

HttpWebRequest webRequest = (HttpWebRequest)HttpWebRequest.Create("http://www.google.com"); if (WebRequest.DefaultWebProxy != null) { webRequest.Proxy = WebRequest.DefaultWebProxy; }

EDITAR:

Desde que presenté esta pregunta, he descubierto que uno o varios proxies se pueden establecer para diferentes destinos o se pueden omitir (tal vez para destinos de intranet locales). Es por eso que debe especificar un URI para GetProxy() . Necesita saber para qué destino obtener el proxy. Si se establece "Detectar configuraciones automáticamente" en Opciones de Internet, el navegador buscará un archivo PAC en su dominio local. El archivo PAC contiene una función Javascript que determina la dirección proxy para un destino dado.