HttpWebRequest.Proxy Vlastnost

Definice

Získá nebo nastaví informace proxy pro požadavek.

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; }
public override System.Net.IWebProxy Proxy { get; set; }
member this.Proxy : System.Net.IWebProxy with get, set
Public Overrides Property Proxy As IWebProxy

Hodnota vlastnosti

Objekt IWebProxy , který se má použít k proxy požadavku. Výchozí hodnota je nastavena voláním Select vlastnosti .

Výjimky

Proxy je nastavená na nullhodnotu .

Volající nemá oprávnění k požadované operaci.

Příklady

Následující příklad kódu používá metodu Proxy k získání informací o proxy serveru pro požadavek.

// 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)

Poznámky

Vlastnost Proxy identifikuje objekt, který WebProxy se má použít ke zpracování požadavků na internetové prostředky. Pokud chcete určit, že se nemá používat žádný proxy server, nastavte Proxy vlastnost na instanci proxy serveru vrácenou metodou GlobalProxySelection.GetEmptyWebProxy .

Konfigurační soubor místního počítače nebo aplikace může určovat použití výchozího proxy serveru. Proxy Pokud je vlastnost zadaná, nastavení proxy serveru z Proxy vlastnosti přepíší místní počítač nebo konfigurační soubor aplikace a HttpWebRequest instance použije zadaná nastavení proxy serveru. Pokud není v konfiguračním souboru zadán žádný proxy server a Proxy vlastnost není určena, HttpWebRequest třída použije nastavení proxy serveru zděděné z aplikace Internet Explorer v místním počítači. Pokud v Internet Exploreru není žádné nastavení proxy serveru, požadavek se odešle přímo na server.

Třída HttpWebRequest parsuje seznam obejití proxy serveru se zástupnými znaky zděděnými z Aplikace Internet Explorer stejně jako seznam nepoužívat je parsován přímo internet explorerem. HttpWebRequest Například třída bude analyzovat seznam vynechání "nt*" z aplikace Internet Explorer jako regulární výraz "nt.*". Takže adresa URL "http://nt.com" by obešla proxy server pomocí HttpWebRequest třídy a pomocí Internet Exploreru.

Třída HttpWebRequest podporuje obejití místního proxy serveru. Třída považuje cíl za místní, pokud je splněna některá z následujících podmínek:

  • Cíl obsahuje plochý název (v adrese URL nejsou žádné tečky).

  • Cíl obsahuje adresu zpětné smyčky (Loopback nebo IPv6Loopback) nebo cíl obsahuje adresu přiřazenou IPAddress místnímu počítači.

  • Přípona cílové domény odpovídá příponě domény místního počítače (DomainName).

Proxy Změna vlastnosti po spuštění požadavku voláním GetRequestStreammetody , BeginGetRequestStream, GetResponse, nebo BeginGetResponse vyvolá výjimku InvalidOperationException. Informace o elementu proxy najdete v tématu< defaultProxy> – element (nastavení sítě).

Platí pro

Viz také