HttpWebRequest.Proxy Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee haalt u proxygegevens voor de aanvraag op of stelt u deze in.
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
Waarde van eigenschap
Het IWebProxy object dat moet worden gebruikt om de aanvraag te proxyn. De standaardwaarde wordt ingesteld door de eigenschap aan te Select roepen.
Uitzonderingen
Proxy is ingesteld op null.
De aanvraag is gestart door te bellen GetRequestStream(), BeginGetRequestStream(AsyncCallback, Object), GetResponse()of BeginGetResponse(AsyncCallback, Object).
De beller is niet gemachtigd voor de aangevraagde bewerking.
Voorbeelden
In het volgende codevoorbeeld wordt de Proxy methode gebruikt om de proxygegevens voor de aanvraag op te halen.
// 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)
Opmerkingen
Caution
WebRequest, HttpWebRequest, ServicePointen WebClient zijn verouderd en u moet ze niet gebruiken voor nieuwe ontwikkeling. Gebruik in plaats daarvan HttpClient.
De Proxy eigenschap identificeert het object dat moet worden gebruikt voor het WebProxy verwerken van aanvragen voor internetbronnen. Als u wilt opgeven dat er geen proxy moet worden gebruikt, stelt u de Proxy eigenschap in op het proxy-exemplaar dat door de GlobalProxySelection.GetEmptyWebProxy methode wordt geretourneerd.
Het configuratiebestand van de lokale computer of toepassing kan opgeven dat er een standaardproxy wordt gebruikt. Als de Proxy eigenschap is opgegeven, overschrijven de proxy-instellingen van de eigenschap het configuratiebestand van de Proxy lokale computer of toepassing en gebruikt het HttpWebRequest exemplaar de opgegeven proxy-instellingen. Als er geen proxy is opgegeven in een configuratiebestand en de Proxy eigenschap niet is opgegeven, gebruikt de HttpWebRequest klasse de proxy-instellingen die zijn overgenomen van internetopties op de lokale computer. Als er geen proxy-instellingen zijn in internetopties, wordt de aanvraag rechtstreeks naar de server verzonden.
De HttpWebRequest klasse ondersteunt het omzeilen van lokale proxy's. De klasse beschouwt een bestemming als lokaal wanneer aan een van de volgende voorwaarden wordt voldaan:
De bestemming bevat een platte naam (geen puntjes in de URL).
De bestemming bevat een loopback-adres (Loopback of IPv6Loopback) of de bestemming bevat een IPAddress toegewezen aan de lokale computer.
Het domeinachtervoegsel van de bestemming komt overeen met het domeinachtervoegsel van de lokale computer (DomainName).
Het wijzigen van de Proxy eigenschap nadat de aanvraag is gestart door het aanroepen van de BeginGetRequestStreamGetRequestStream, of GetResponseBeginGetResponse methode genereert een InvalidOperationException. Zie < voor meer informatie over het proxyelement