HttpWebRequest.Proxy Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
İstek için ara sunucu bilgilerini alır veya ayarlar.
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
Özellik Değeri
İstekte ara sunucu olarak kullanılacak IWebProxy nesnesi. Varsayılan değer, Select özelliği çağrılarak ayarlanır.
Özel durumlar
Proxy
null
olarak ayarlanır.
İstek GetRequestStream(), BeginGetRequestStream(AsyncCallback, Object), GetResponse()veya BeginGetResponse(AsyncCallback, Object)çağrılarak başlatıldı.
Çağıranın istenen işlem için izni yok.
Örnekler
Aşağıdaki kod örneği, isteğin proxy bilgilerini almak için Proxy yöntemini kullanır.
// 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)
Açıklamalar
Dikkat
WebRequest
, HttpWebRequest
, ServicePoint
ve WebClient
kullanım dışıdır ve bunları yeni geliştirme için kullanmamalısınız. Bunun yerine HttpClient kullanın.
Proxy özelliği, İnternet kaynaklarına yönelik istekleri işlemek için kullanılacak WebProxy nesnesini tanımlar. Proxy kullanılmaması gerektiğini belirtmek için Proxy özelliğini GlobalProxySelection.GetEmptyWebProxy yöntemi tarafından döndürülen proxy örneğine ayarlayın.
Yerel bilgisayar veya uygulama yapılandırma dosyası varsayılan bir ara sunucunun kullanılacağını belirtebilir. Proxy özelliği belirtilirse, Proxy özelliğindeki ara sunucu ayarları yerel bilgisayarı veya uygulama yapılandırma dosyasını geçersiz kılar ve HttpWebRequest örneği belirtilen ara sunucu ayarlarını kullanır. Yapılandırma dosyasında hiçbir ara sunucu belirtilmezse ve Proxy özelliği belirtilmezse, HttpWebRequest sınıfı yerel bilgisayardaki İnternet seçeneklerinden devralınan ara sunucu ayarlarını kullanır. İnternet seçeneklerinde ara sunucu ayarları yoksa istek doğrudan sunucuya gönderilir.
HttpWebRequest sınıfı yerel proxy atlamayı destekler. Sınıfı, aşağıdaki koşullardan herhangi biri karşılanırsa hedefi yerel olarak kabul eder:
Hedef düz bir ad içeriyor (URL'de nokta yok).
Hedef bir geri döngü adresi (Loopback veya IPv6Loopback) veya hedef yerel bilgisayara atanmış bir IPAddress içerir.
Hedefin etki alanı soneki, yerel bilgisayarın etki alanı sonekiyle (DomainName) eşleşir.
İstek başlatıldıktan sonra GetRequestStream, BeginGetRequestStream, GetResponseveya BeginGetResponse yöntemini çağırarak Proxy özelliğini değiştirmek bir InvalidOperationExceptionoluşturur. Proxy öğesi hakkında bilgi için bkz. < defaultProxy> öğesi (Ağ Ayarları).
Şunlara uygulanır
Ayrıca bkz.
- DefaultProxy Öğesi (Ağ Ayarları)
- İnternet Uygulamalarını Yapılandırma
- ara sunucu yapılandırma
- Otomatik Ara Sunucu Algılama