Partager via


WebRequest.Proxy Propriété

Définition

En cas de substitution dans une classe descendante, obtient ou définit le proxy réseau à utiliser pour accéder à cette ressource Internet.

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

Valeur de propriété

La IWebProxy à utiliser pour accéder à la ressource Internet.

Exceptions

Toute tentative est effectuée pour obtenir ou définir la propriété, lorsque la propriété n’est pas remplacée dans une classe descendante.

Exemples

L’exemple suivant affiche l’adresse de proxy réseau actuelle et permet à l’utilisateur d’attribuer une nouvelle adresse de proxy réseau et un numéro de port.

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

WebProxy^ myProxy = gcnew WebProxy;
// Obtain the Proxy Prperty of the  Default browser.
myProxy = (WebProxy^)(myWebRequest->Proxy);

// Print myProxy address to the console.
Console::WriteLine( "\nThe actual default Proxy settings are {0}", myProxy->Address );
try
{
   Console::WriteLine( "\nPlease enter the new Proxy Address to be set " );
   Console::WriteLine( "The format of the address should be http://proxyUriAddress:portaddress" );
   Console::WriteLine( "Example:http://proxyadress.com:8080" );
   String^ proxyAddress;
   proxyAddress = Console::ReadLine();

   if ( proxyAddress->Length == 0 )
   {
      myWebRequest->Proxy = myProxy;
   }
   else
   {
      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 new Uri object to the myProxy object.
      myProxy->Address = newUri;
      
      // Create a NetworkCredential object and is assign to the Credentials
      // property of the Proxy object.
      myProxy->Credentials = gcnew NetworkCredential( username,password );
      myWebRequest->Proxy = myProxy;
   }
   Console::WriteLine( "\nThe Address of the  new Proxy settings are {0}", myProxy->Address );
   WebResponse^ myWebResponse = myWebRequest->GetResponse();
   
   // Print the  HTML contents of the page to the console.
   Stream^ streamResponse = myWebResponse->GetResponseStream();
   StreamReader^ streamRead = gcnew StreamReader( streamResponse );
   array<Char>^ readBuff = gcnew array<Char>(256);
   int count = streamRead->Read( readBuff, 0, 256 );
   Console::WriteLine( "\nThe contents of the Html pages are :" );
   while ( count > 0 )
   {
      String^ outputData = gcnew String( readBuff,0,count );
      Console::Write( outputData );
      count = streamRead->Read( readBuff, 0, 256 );
   }
   
   // Close the Stream object.
   streamResponse->Close();
   streamRead->Close();
   
   // Release the HttpWebResponse Resource.
   myWebResponse->Close();
   Console::WriteLine( "\nPress any key to continue........." );
   Console::Read();
}
catch ( UriFormatException^ e ) 
{
   Console::WriteLine( "\nUriFormatException is thrown->Message is {0}", e->Message );
   Console::WriteLine( "\nThe format of the myProxy address you entered is invalid" );
   Console::WriteLine( "\nPress any key to continue........." );
   Console::Read();
}
   // Create a new request to the mentioned URL.				
   WebRequest myWebRequest=WebRequest.Create("http://www.contoso.com");

   WebProxy myProxy=new WebProxy();
   // Obtain the Proxy Prperty of the  Default browser.  
   myProxy=(WebProxy)myWebRequest.Proxy;

   // Print myProxy address to the console.
   Console.WriteLine("\nThe actual default Proxy settings are {0}",myProxy.Address);
try
   {
       Console.WriteLine("\nPlease enter the new Proxy Address to be set ");
       Console.WriteLine("The format of the address should be http://proxyUriAddress:portaddress");
       Console.WriteLine("Example:http://proxyadress.com:8080");
       string proxyAddress;
       proxyAddress =Console.ReadLine();

       if(proxyAddress.Length==0)
       {
           myWebRequest.Proxy=myProxy;
       }
       else
       {
           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=new Uri(proxyAddress);

           // Associate the new Uri object to the myProxy object.
           myProxy.Address=newUri;

           // Create a NetworkCredential object and is assign to the Credentials property of the Proxy object.
           myProxy.Credentials=new NetworkCredential(username,password);
           myWebRequest.Proxy=myProxy;
       }
       Console.WriteLine("\nThe Address of the  new Proxy settings are {0}",myProxy.Address);
       WebResponse myWebResponse=myWebRequest.GetResponse();

       // Print the  HTML contents of the page to the console.
       Stream streamResponse=myWebResponse.GetResponseStream();
       StreamReader streamRead = new StreamReader( streamResponse );
       Char[] readBuff = new Char[256];
       int count = streamRead.Read( readBuff, 0, 256 );
       Console.WriteLine("\nThe contents of the Html pages are :");	
       while (count > 0) 
       {
           String outputData = new String(readBuff, 0, count);
           Console.Write(outputData);
           count = streamRead.Read(readBuff, 0, 256);
       }

       // Close the Stream object.
       streamResponse.Close();
       streamRead.Close();

       // Release the HttpWebResponse Resource.
       myWebResponse.Close();
       Console.WriteLine("\nPress any key to continue.........");
       Console.Read();				
   }
   catch(UriFormatException e)
   {
       Console.WriteLine("\nUriFormatException is thrown.Message is {0}",e.Message);
       Console.WriteLine("\nThe format of the myProxy address you entered is invalid");
       Console.WriteLine("\nPress any key to continue.........");
       Console.Read();
   }

  ' Create a new request to the mentioned URL.				
  Dim myWebRequest As WebRequest = WebRequest.Create("http://www.contoso.com")
  Dim myProxy As New WebProxy()

  ' Obtain the Proxy Prperty of the  Default browser. 
   myProxy = CType(myWebRequest.Proxy, WebProxy)

  ' Print myProxy address to the console.
  Console.WriteLine(ControlChars.Cr + "The actual default Proxy settings are {0}", myProxy.Address)

  Try
      Console.WriteLine(ControlChars.Cr + "Please enter the new Proxy Address to be set ")
      Console.WriteLine("The format of the address should be http://proxyUriAddress:portaddress")
      Console.WriteLine("Example:http://moon.proxy.com:8080")
      Dim proxyAddress As String
      proxyAddress = Console.ReadLine()

      If proxyAddress.Length = 0 Then
          myWebRequest.Proxy = myProxy
      Else
          Console.WriteLine(ControlChars.Cr + "Please enter the Credentials")
          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 new Uri object to the myProxy object.
          myProxy.Address = newUri

          ' Create a NetworkCredential object and is assign to the Credentials property of the Proxy 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 WebResponse = myWebRequest.GetResponse()

      ' Print the  HTML contents of the page to the console.
      Dim streamResponse As Stream = myWebResponse.GetResponseStream()

      Dim streamRead As New StreamReader(streamResponse)
      Dim readBuff(256) As [Char]
      Dim count As Integer = streamRead.Read(readBuff, 0, 256)
      Console.WriteLine(ControlChars.Cr + "The contents of the Html pages are :")

      While count > 0
          Dim outputData As New [String](readBuff, 0, count)
          Console.Write(outputData)
          count = streamRead.Read(readBuff, 0, 256)

      End While

 ' Close the Stream object.
      streamResponse.Close()
streamRead.Close()

' Release the HttpWebResponse Resource.
  myWebResponse.Close()
      Console.WriteLine(ControlChars.Cr + "Press any key to continue.........")
      Console.Read()
  Catch e As UriFormatException
      Console.WriteLine(ControlChars.Cr + "{0}", e.Message)
      Console.WriteLine(ControlChars.Cr + "The format of the myProxy address you entered is invalid")
   End Try

Remarques

Prudence

WebRequest, HttpWebRequest, ServicePointet WebClient sont obsolètes et vous ne devez pas les utiliser pour le nouveau développement. Utilisez HttpClient à la place.

La propriété Proxy identifie le proxy réseau que la demande utilise pour accéder à la ressource Internet. La requête est effectuée via le serveur proxy plutôt que directement vers la ressource Internet.

Note

La classe WebRequest est une classe abstract. Le comportement réel des instances de WebRequest au moment de l’exécution est déterminé par la classe descendante retournée par la méthode WebRequest.Create. Pour plus d’informations sur les valeurs et exceptions par défaut, consultez la documentation relative aux classes descendantes, telles que HttpWebRequest et FileWebRequest.

S’applique à

Voir aussi