HttpWebRequest.Proxy Свойство

Определение

Возвращает или задает сведения о прокси-сервере для запроса.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; }
public override System.Net.IWebProxy Proxy { get; set; }
member this.Proxy : System.Net.IWebProxy with get, set
Public Overrides Property Proxy As IWebProxy

Значение свойства

IWebProxy

Объект IWebProxy, используемый в качестве прокси-сервера для этого запроса.The IWebProxy object to use to proxy the request. Значение по умолчанию устанавливается путем вызова свойства Select.The default value is set by calling the Select property.

Исключения

Параметру Proxy задается значение null.Proxy is set to null.

Вызывающий объект не имеет разрешения на запрошенную операцию.The caller does not have permission for the requested operation.

Примеры

В следующем примере кода метод используется Proxy для получения сведений о прокси-сервере для запроса.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)

Комментарии

ProxyСвойство определяет объект, WebProxy используемый для обработки запросов к ресурсам в Интернете.The Proxy property identifies the WebProxy object to use to process requests to Internet resources. Чтобы указать, что прокси-сервер использовать не нужно, присвойте Proxy свойству экземпляр прокси, возвращаемый GlobalProxySelection.GetEmptyWebProxy методом.To specify that no proxy should be used, set the Proxy property to the proxy instance returned by the GlobalProxySelection.GetEmptyWebProxy method.

В файле конфигурации локального компьютера или приложения может указываться использование прокси-сервера по умолчанию.The local computer or application config file may specify that a default proxy be used. Если Proxy свойство указано, параметры прокси-сервера из Proxy свойства переопределяют локальный компьютер или файл конфигурации приложения, и HttpWebRequest экземпляр будет использовать указанные параметры прокси-сервера.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. Если в файле конфигурации не указан прокси-сервер и Proxy свойство не задано, HttpWebRequest класс использует параметры прокси-сервера, унаследованные от Internet Explorer на локальном компьютере.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. Если в Internet Explorer нет параметров прокси-сервера, запрос отправляется непосредственно на сервер.If there are no proxy settings in Internet Explorer, the request is sent directly to the server.

HttpWebRequestКласс анализирует список обхода прокси-сервера с подстановочными знаками, унаследованными от Internet Explorer, так же как и список пропусков, который анализируется непосредственно 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. Например, HttpWebRequest класс будет анализировать список пропусков "NT *" из Internet Explorer как регулярное выражение "NT. * ".For example, the HttpWebRequest class will parse a bypass list of "nt*" from Internet Explorer as a regular expression of "nt.*". Таким образом, URL-адрес " http://nt.com " обходит прокси-сервер с помощью HttpWebRequest класса и Internet Explorer.So a URL of "http://nt.com" would bypass the proxy using the HttpWebRequest class and using Internet Explorer.

HttpWebRequestКласс поддерживает обход локального прокси-сервера.The HttpWebRequest class supports local proxy bypass. Класс рассматривает назначение как локальные, если выполняются следующие условия.The class considers a destination to be local if any of the following conditions are met:

  • Назначение содержит неструктурированное имя (в URL-адресе нет точек).The destination contains a flat name (no dots in the URL).

  • Назначение содержит петлевой адрес ( Loopback или), IPv6Loopback или назначение содержит IPAddress назначение, назначенное локальному компьютеру.The destination contains a loopback address (Loopback or IPv6Loopback) or the destination contains an IPAddress assigned to the local computer.

  • Суффикс домена назначения соответствует суффиксу домена локального компьютера ( DomainName ).The domain suffix of the destination matches the local computer's domain suffix (DomainName).

Изменение Proxy свойства после запуска запроса вызовом GetRequestStream BeginGetRequestStream метода,, GetResponse или BeginGetResponse вызывает исключение InvalidOperationException .Changing the Proxy property after the request has been started by calling the GetRequestStream, BeginGetRequestStream, GetResponse, or BeginGetResponse method throws an InvalidOperationException. Дополнительные сведения об элементе proxy см. в разделе & lt; defaultProxy & gt; Элемент (параметры сети).For information on the proxy element see <defaultProxy> Element (Network Settings).

Применяется к

См. также раздел