HttpWebRequest.Proxy Eigenschaft

Definition

Ruft Proxyinformationen für die Anforderung ab oder legt diese fest.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

Eigenschaftswert

Das IWebProxy-Objekt, das als Proxy für die Anforderung verwendet werden soll.The IWebProxy object to use to proxy the request. Der Standardwert wird durch Aufrufen der Select-Eigenschaft festgelegt.The default value is set by calling the Select property.

Ausnahmen

Für Proxy ist null festgelegt.Proxy is set to null.

Der Aufrufer verfügt nicht über die Berechtigung für den angeforderten Vorgang.The caller does not have permission for the requested operation.

Beispiele

Im folgenden Codebeispiel wird die Proxy-Methode verwendet, um die Proxy Informationen für die Anforderung zu erhalten.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)

Hinweise

Die Proxy-Eigenschaft identifiziert das WebProxy Objekt, das zum Verarbeiten von Anforderungen an Internet Ressourcen verwendet werden soll.The Proxy property identifies the WebProxy object to use to process requests to Internet resources. Um anzugeben, dass kein Proxy verwendet werden soll, legen Sie die Proxy-Eigenschaft auf die Proxy Instanz fest, die von der GlobalProxySelection.GetEmptyWebProxy-Methode zurückgegeben wird.To specify that no proxy should be used, set the Proxy property to the proxy instance returned by the GlobalProxySelection.GetEmptyWebProxy method.

Der lokale Computer oder die Anwendungs Konfigurationsdatei kann angeben, dass ein Standard Proxy verwendet werden soll.The local computer or application config file may specify that a default proxy be used. Wenn die Proxy-Eigenschaft angegeben ist, überschreiben die Proxy Einstellungen der Proxy-Eigenschaft den lokalen Computer bzw. die Anwendungs Konfigurationsdatei, und die HttpWebRequest Instanz verwendet die angegebenen Proxy Einstellungen.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. Wenn kein Proxy in einer Konfigurationsdatei angegeben ist und die Proxy-Eigenschaft nicht angegeben ist, verwendet die HttpWebRequest-Klasse die Proxy Einstellungen, die von Internet Explorer auf dem lokalen Computer geerbt wurden.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. Wenn in Internet Explorer keine Proxy Einstellungen vorhanden sind, wird die Anforderung direkt an den Server gesendet.If there are no proxy settings in Internet Explorer, the request is sent directly to the server.

Die HttpWebRequest-Klasse analysiert eine Proxy Umgehungs Liste mit Platzhalter Zeichen, die von Internet Explorer geerbt wurden, genauso, wie die Umgehungs Liste direkt von Internet Explorer analysiert wird.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. Beispielsweise wird die HttpWebRequest-Klasse eine Umgehungs Liste von "NT *" aus Internet Explorer als regulärer Ausdruck "NT.*" analysieren.For example, the HttpWebRequest class will parse a bypass list of "nt*" from Internet Explorer as a regular expression of "nt.*". Eine URL vom Typ "http://nt.com" würde also den Proxy umgehen, indem er die HttpWebRequest-Klasse und Internet Explorer verwendet.So a URL of "http://nt.com" would bypass the proxy using the HttpWebRequest class and using Internet Explorer.

Die HttpWebRequest-Klasse unterstützt die lokale Proxy Umgehung.The HttpWebRequest class supports local proxy bypass. Wenn eine der folgenden Bedingungen erfüllt ist, wird ein Ziel von der-Klasse als Local betrachtet:The class considers a destination to be local if any of the following conditions are met:

  • Das Ziel enthält einen flachen Namen (keine Punkte in der URL).The destination contains a flat name (no dots in the URL).

  • Das Ziel enthält eine Loopback Adresse (Loopback oder IPv6Loopback), oder das Ziel enthält eine IPAddress, die dem lokalen Computer zugewiesen ist.The destination contains a loopback address (Loopback or IPv6Loopback) or the destination contains an IPAddress assigned to the local computer.

  • Das Domänen Suffix des Ziels stimmt mit dem Domänen Suffix (DomainName) des lokalen Computers überein.The domain suffix of the destination matches the local computer's domain suffix (DomainName).

Wenn Sie die Proxy-Eigenschaft ändern, nachdem die Anforderung durch Aufrufen der GetRequestStream-, BeginGetRequestStream-, GetResponse-oder BeginGetResponse-Methode gestartet wurde, wird ein InvalidOperationExceptionausgelöst.Changing the Proxy property after the request has been started by calling the GetRequestStream, BeginGetRequestStream, GetResponse, or BeginGetResponse method throws an InvalidOperationException. Weitere Informationen zum Proxy Element finden Sie unter < defaultProxy> -Element (Netzwerkeinstellungen).For information on the proxy element see <defaultProxy> Element (Network Settings).

Sicherheit

WebPermission
, Um die Proxy-Eigenschaft zu erhalten oder festzulegen.To get or set the Proxy property. Zugehörige Enumeration: UnrestrictedAssociated enumeration: Unrestricted

Gilt für:

Siehe auch