HttpWebRequest.Proxy HttpWebRequest.Proxy HttpWebRequest.Proxy HttpWebRequest.Proxy Property

Definición

Obtiene o establece la información de proxy para la solicitud.Gets or sets proxy information for the request.

public:
 virtual property System::Net::IWebProxy ^ Proxy { System::Net::IWebProxy ^ get(); void set(System::Net::IWebProxy ^ value); };
public override System.Net.IWebProxy Proxy { get; set; }
member this.Proxy : System.Net.IWebProxy with get, set
Public Overrides Property Proxy As IWebProxy

Valor de propiedad

El objeto IWebProxy que se utiliza para especificar el servidor proxy de la solicitud.The IWebProxy object to use to proxy the request. El valor predeterminado se establece mediante una llamada a la propiedad Select.The default value is set by calling the Select property.

Excepciones

El autor de llamada no tiene permiso para la operación solicitada.The caller does not have permission for the requested operation.

Ejemplos

El siguiente ejemplo de código utiliza el Proxy método para obtener la información de proxy para la solicitud.The following code example uses the Proxy method to get the proxy information for the request.

// Create a new request to the mentioned URL.
HttpWebRequest ^ myWebRequest =
    (HttpWebRequest ^) (WebRequest::Create("http://www.microsoft.com"));

// Obtain the 'Proxy' of the  Default browser.  
IWebProxy ^ proxy = myWebRequest->Proxy;
// Print the Proxy Url to the console.
if (proxy) 
{
    Console::WriteLine("Proxy: {0}",
        proxy->GetProxy(myWebRequest->RequestUri));
} 
else 
{
    Console::WriteLine("Proxy is null; no proxy will be used");
}

WebProxy ^ myProxy = gcnew WebProxy;

Console::WriteLine("\nPlease enter the new Proxy Address that is to be set:");
Console::WriteLine("(Example:http://myproxy.example.com:port)");
String ^ proxyAddress;

try 
{
    proxyAddress = Console::ReadLine();
    if (proxyAddress->Length > 0) {
        Console::WriteLine("\nPlease enter the Credentials ");
        Console::WriteLine("Username:");
        String ^ username;
        username = Console::ReadLine();
        Console::WriteLine("\nPassword:");
        String ^ password;
        password = Console::ReadLine();
        // Create a new Uri object.
        Uri ^ newUri = gcnew Uri(proxyAddress);
        // Associate the newUri object to 'myProxy' object so that new myProxy settings can be set.
        myProxy->Address = newUri;
        // Create a NetworkCredential object and associate it with the Proxy property of request object.
        myProxy->Credentials =
            gcnew NetworkCredential(username, password);
        myWebRequest->Proxy = myProxy;
    }
    Console::WriteLine("\nThe Address of the  new Proxy settings are {0}",
                  myProxy->Address);
    HttpWebResponse ^ myWebResponse =
        (HttpWebResponse ^) (myWebRequest->GetResponse());
// Create a new request to the mentioned URL.				
HttpWebRequest myWebRequest=(HttpWebRequest)WebRequest.Create("http://www.microsoft.com");

// Obtain the 'Proxy' of the  Default browser.  
IWebProxy proxy = myWebRequest.Proxy;
// Print the Proxy Url to the console.
if (proxy != null)
{
    Console.WriteLine("Proxy: {0}", proxy.GetProxy(myWebRequest.RequestUri));
} 
else
{
    Console.WriteLine("Proxy is null; no proxy will be used");
}

WebProxy myProxy=new WebProxy();

Console.WriteLine("\nPlease enter the new Proxy Address that is to be set:");
Console.WriteLine("(Example:http://myproxy.example.com:port)");
string proxyAddress;

try
{
    proxyAddress =Console.ReadLine();
    if(proxyAddress.Length>0)
    {
        Console.WriteLine("\nPlease enter the Credentials (may not be needed)");
        Console.WriteLine("Username:");
        string username;
        username =Console.ReadLine();
        Console.WriteLine("\nPassword:");
        string password;
        password =Console.ReadLine();					
        // Create a new Uri object.
        Uri newUri=new Uri(proxyAddress);
        // Associate the newUri object to 'myProxy' object so that new myProxy settings can be set.
        myProxy.Address=newUri;
        // Create a NetworkCredential object and associate it with the 
        // Proxy property of request object.
        myProxy.Credentials=new NetworkCredential(username,password);
        myWebRequest.Proxy=myProxy;
    }
    Console.WriteLine("\nThe Address of the  new Proxy settings are {0}",myProxy.Address);
    HttpWebResponse myWebResponse=(HttpWebResponse)myWebRequest.GetResponse();
   ' Create a new request to the mentioned URL.				
   Dim myWebRequest As HttpWebRequest = CType(WebRequest.Create("http://www.microsoft.com"), HttpWebRequest)

' Obtain the 'Proxy' of the  Default browser.  
Dim proxy as IWebProxy = CType(myWebRequest.Proxy, IWebProxy)
' Print the Proxy Url to the console.
   If Not proxy Is Nothing Then
       Console.WriteLine("Proxy: {0}", proxy.GetProxy(myWebRequest.RequestUri))
   Else
       Console.WriteLine("Proxy is null; no proxy will be used")
   End If

   Dim myProxy As New WebProxy()

   Console.WriteLine(ControlChars.Cr + "Please enter the new Proxy Address that is to be set ")
   Console.WriteLine("(Example:http://myproxy.example.com:port)")
   Dim proxyAddress As String
   Try
       proxyAddress = Console.ReadLine()
       If proxyAddress.Length = 0 Then
           myWebRequest.Proxy = myProxy
       Else
           Console.WriteLine(ControlChars.Cr + "Please enter the Credentials (may not be needed)")
           Console.WriteLine("Username:")
           Dim username As String
           username = Console.ReadLine()
           Console.WriteLine(ControlChars.Cr + "Password:")
           Dim password As String
           password = Console.ReadLine()
           ' Create a new Uri object.
           Dim newUri As New Uri(proxyAddress)
           ' Associate the newUri object to 'myProxy' object so that new myProxy settings can be set.
           myProxy.Address = newUri
           ' Create a NetworkCredential object and associate it with the Proxy property of request object.
           myProxy.Credentials = New NetworkCredential(username, password)
           myWebRequest.Proxy = myProxy
       End If
       Console.WriteLine(ControlChars.Cr + "The Address of the  new Proxy settings are {0}", myProxy.Address)
       Dim myWebResponse As HttpWebResponse = CType(myWebRequest.GetResponse(), HttpWebResponse)

Comentarios

El Proxy propiedad identifica el WebProxy objeto que se utiliza para procesar las solicitudes a recursos de Internet.The Proxy property identifies the WebProxy object to use to process requests to Internet resources. Para especificar que no se debe usar ningún proxy, establezca la Proxy propiedad a la instancia del proxy devuelta por la GlobalProxySelection.GetEmptyWebProxy método.To specify that no proxy should be used, set the Proxy property to the proxy instance returned by the GlobalProxySelection.GetEmptyWebProxy method.

El equipo local o un archivo de configuración de la aplicación puede especificar que se usa un proxy predeterminado.The local computer or application config file may specify that a default proxy be used. Si el Proxy se especifica la propiedad, a continuación, la configuración de proxy de la Proxy el equipo local o un archivo de configuración de aplicación de reemplazo de propiedad y el HttpWebRequest instancia usará la configuración de proxy especificada.If the Proxy property is specified, then the proxy settings from the Proxy property override the local computer or application config file and the HttpWebRequest instance will use the proxy settings specified. Si no se especifica ningún proxy en un archivo de configuración y el Proxy propiedad no se especifica, el HttpWebRequest clase utiliza la configuración de proxy heredada de Internet Explorer en el equipo local.If no proxy is specified in a config file and the Proxy property is unspecified, the HttpWebRequest class uses the proxy settings inherited from Internet Explorer on the local computer. Si no hay ninguna configuración de proxy en Internet Explorer, la solicitud se envía directamente al servidor.If there are no proxy settings in Internet Explorer, the request is sent directly to the server.

La HttpWebRequest clase analiza una lista de omisión de proxy con caracteres comodín heredada de Internet Explorer la misma mientras se analiza la lista de omisión directamente por Internet Explorer.The HttpWebRequest class parses a proxy bypass list with wildcard characters inherited from Internet Explorer the same as the bypass list is parsed directly by Internet Explorer. Por ejemplo, el HttpWebRequest clase analizará una lista de omisión de "nt *" de Internet Explorer como una expresión regular de "nt.*".For example, the HttpWebRequest class will parse a bypass list of "nt*" from Internet Explorer as a regular expression of "nt.*". Por lo tanto una dirección URL de "http://nt.com" omitiría el proxy utilizando la HttpWebRequest clase y el uso de Internet Explorer.So a URL of "http://nt.com" would bypass the proxy using the HttpWebRequest class and using Internet Explorer.

La HttpWebRequest clase admite la omisión de proxy local.The HttpWebRequest class supports local proxy bypass. La clase se considera que un destino local si se cumple alguna de las condiciones siguientes:The class considers a destination to be local if any of the following conditions are met:

  • El destino contiene un nombre sin formato (sin puntos en la dirección URL).The destination contains a flat name (no dots in the URL).

  • El destino contiene una dirección de bucle invertido (Loopback o IPv6Loopback) o el destino contiene un IPAddress asignada al equipo local.The destination contains a loopback address (Loopback or IPv6Loopback) or the destination contains an IPAddress assigned to the local computer.

  • El sufijo de dominio de destino coincide con sufijo de dominio del equipo local (DomainName).The domain suffix of the destination matches the local computer's domain suffix (DomainName).

Cambiar el Proxy propiedad una vez iniciada la solicitud mediante una llamada a la GetRequestStream, BeginGetRequestStream, GetResponse, o BeginGetResponse método produce una InvalidOperationException.Changing the Proxy property after the request has been started by calling the GetRequestStream, BeginGetRequestStream, GetResponse, or BeginGetResponse method throws an InvalidOperationException. Para obtener información sobre el elemento de proxy < defaultProxy> Elemento (configuración de red).For information on the proxy element see <defaultProxy> Element (Network Settings).

Seguridad

WebPermission
Para obtener o establecer el Proxy propiedad.To get or set the Proxy property. Enumeración asociada: UnrestrictedAssociated enumeration: Unrestricted

Se aplica a

Consulte también: