Freigeben über


WebRequest.Proxy-Eigenschaft

Ruft beim Überschreiben in einer abgeleiteten Klasse den beim Zugriff auf diese Internetressource verwendeten Netzwerkproxy ab oder legt diesen fest.

Namespace: System.Net
Assembly: System (in system.dll)

Syntax

'Declaration
Public Overridable Property Proxy As IWebProxy
'Usage
Dim instance As WebRequest
Dim value As IWebProxy

value = instance.Proxy

instance.Proxy = value
public virtual IWebProxy Proxy { get; set; }
public:
virtual property IWebProxy^ Proxy {
    IWebProxy^ get ();
    void set (IWebProxy^ value);
}
/** @property */
public IWebProxy get_Proxy ()

/** @property */
public void set_Proxy (IWebProxy value)
public function get Proxy () : IWebProxy

public function set Proxy (value : IWebProxy)

Eigenschaftenwert

Der beim Zugriff auf die Internetressource zu verwendende IWebProxy.

Ausnahmen

Ausnahmetyp Bedingung

NotImplementedException

Es wurde versucht, die Eigenschaft abzurufen oder festzulegen, obwohl die Eigenschaft in einer abgeleiteten Klasse nicht überschrieben wurde.

Hinweise

Die Proxy-Eigenschaft gibt den Netzwerkproxy an, den die Anforderung zum Zugreifen auf die Internetressource verwendet. Die Anforderung wird über den Proxyserver und nicht direkt an die Internetressource geleitet.

Hinweis

Die WebRequest-Klasse ist eine abstract Klasse. Das tatsächliche Verhalten von WebRequest-Instanzen zur Laufzeit wird von der abgeleiteten Klasse bestimmt, die von der System.Net.WebRequest.Create-Methode zurückgegeben wird. Weitere Informationen über Standardwerte und Ausnahmen finden Sie in der Dokumentation zu den abgeleiteten Klassen, z. B. HttpWebRequest und FileWebRequest.

Beispiel

Im folgenden Beispiel wird die aktuelle Netzwerkproxyadresse angezeigt, anhand derer der Benutzer eine neue Netzwerkproxyadresse und Anschlussnummer zuweisen kann.

  ' Create a new request to the mentioned URL.                
  Dim myWebRequest As WebRequest = WebRequest.Create("https://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
   
   // Create a new request to the mentioned URL.                
   WebRequest myWebRequest=WebRequest.Create("https://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.
WebRequest^ myWebRequest = WebRequest::Create( "https://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("https://www.contoso.com");

WebProxy myProxy = new WebProxy();
// Obtain the Proxy Prperty of the  Default browser.  
myProxy = (WebProxy)myWebRequest.get_Proxy();
// Print myProxy address to the console.
Console.WriteLine("\nThe actual default Proxy settings are {0}",
    myProxy.get_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.get_Length() == 0) {
        myWebRequest.set_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.set_Address(newUri);
        // Create a NetworkCredential object and is assign to the 
        // Credentials property of the Proxy object.
        myProxy.set_Credentials(new NetworkCredential(userName,
            password));
        myWebRequest.set_Proxy(myProxy);
    }
    Console.WriteLine("\nThe Address of the  new Proxy settings" 
        + " are {0}", myProxy.get_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.get_Message());
    Console.WriteLine("\nThe format of the myProxy address you" 
        + " entered is invalid");
    Console.WriteLine("\nPress any key to continue.........");
    Console.Read();
}

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

WebRequest-Klasse
WebRequest-Member
System.Net-Namespace
IWebProxy-Schnittstelle
WebProxy-Klasse
HttpWebRequest.Proxy-Eigenschaft