HttpWebRequest.Proxy Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Obtém ou define a informação de proxy para o pedido.
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
Valor de Propriedade
O IWebProxy objeto a usar para proxy do pedido. O valor padrão é definido chamando a Select propriedade.
Exceções
Proxy está definido como null.
O pedido foi iniciado ligando GetRequestStream()para , BeginGetRequestStream(AsyncCallback, Object), GetResponse(), ou BeginGetResponse(AsyncCallback, Object).
O chamador não tem permissão para a operação solicitada.
Exemplos
O exemplo de código seguinte utiliza o Proxy método para obter a informação proxy do pedido.
// 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)
Observações
Atenção
WebRequest, HttpWebRequest, ServicePoint, e WebClient são obsoletos, e não deves usá-los para novos desenvolvimentos. Utilize HttpClient em substituição.
A Proxy propriedade identifica o WebProxy objeto a usar para processar pedidos para recursos da Internet. Para especificar que nenhum proxy deve ser usado, defina a Proxy propriedade como a instância de proxy retornada pelo método GlobalProxySelection.GetEmptyWebProxy.
O ficheiro de configuração local do computador ou da aplicação pode especificar que deve ser usado um proxy predefinido. Se a Proxy propriedade for especificada, então as definições do proxy da Proxy propriedade sobrepõem-se ao ficheiro de configuração local do computador ou da aplicação e a HttpWebRequest instância usará as definições do proxy especificadas. Se não for especificado um proxy num ficheiro de configuração e a Proxy propriedade não for especificada, a HttpWebRequest classe utiliza as definições de proxy herdadas das opções de Internet no computador local. Se não houver definições de proxy nas opções de Internet, o pedido é enviado diretamente para o servidor.
A classe HttpWebRequest suporta bypass local de proxy. A classe considera um destino como local se qualquer uma das seguintes condições for atendida:
O destino contém um nome plano (sem pontos na URL).
O destino contém um endereço de loopback (Loopback ou IPv6Loopback) ou o destino contém um IPAddress atribuído ao computador local.
O sufixo de domínio do destino corresponde ao sufixo de domínio do computador local (DomainName).
Alterar a Proxy propriedade depois de o pedido ter sido iniciado, chamando o GetRequestStream, BeginGetRequestStream, GetResponse, ou BeginGetResponse método gera um InvalidOperationException. Para informações sobre o elemento proxy,