HttpWebRequest.Proxy Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendapatkan atau mengatur informasi proksi untuk permintaan tersebut.
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
Nilai Properti
Objek IWebProxy untuk digunakan untuk mem-proksi permintaan. Nilai default diatur dengan memanggil properti Select.
Pengecualian
Proxy diatur ke null
.
Permintaan telah dimulai dengan memanggil GetRequestStream(), BeginGetRequestStream(AsyncCallback, Object), GetResponse(), atau BeginGetResponse(AsyncCallback, Object).
Pemanggil tidak memiliki izin untuk operasi yang diminta.
Contoh
Contoh kode berikut menggunakan metode Proxy untuk mendapatkan informasi proksi untuk permintaan tersebut.
// 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)
Keterangan
Hati
WebRequest
, HttpWebRequest
, ServicePoint
, dan WebClient
usang, dan Anda tidak boleh menggunakannya untuk pengembangan baru. Gunakan HttpClient sebagai gantinya.
Properti Proxy mengidentifikasi objek WebProxy untuk digunakan untuk memproses permintaan ke sumber daya Internet. Untuk menentukan bahwa tidak ada proksi yang harus digunakan, atur properti Proxy ke instans proksi yang dikembalikan oleh metode GlobalProxySelection.GetEmptyWebProxy.
File konfigurasi komputer atau aplikasi lokal dapat menentukan bahwa proksi default digunakan. Jika properti Proxy ditentukan, maka pengaturan proksi dari properti Proxy mengambil alih file konfigurasi komputer atau aplikasi lokal dan instans HttpWebRequest akan menggunakan pengaturan proksi yang ditentukan. Jika tidak ada proksi yang ditentukan dalam file konfigurasi dan properti Proxy tidak ditentukan, kelas HttpWebRequest menggunakan pengaturan proksi yang diwarisi dari opsi Internet di komputer lokal. Jika tidak ada pengaturan proksi dalam opsi Internet, permintaan dikirim langsung ke server.
Kelas HttpWebRequest mendukung bypass proksi lokal. Kelas menganggap tujuan bersifat lokal jika salah satu kondisi berikut terpenuhi:
Tujuan berisi nama datar (tidak ada titik di URL).
Tujuan berisi alamat loopback (Loopback atau IPv6Loopback) atau tujuan berisi IPAddress yang ditetapkan ke komputer lokal.
Akhiran domain tujuan cocok dengan akhiran domain komputer lokal (DomainName).
Mengubah properti Proxy setelah permintaan dimulai dengan memanggil metode GetRequestStream, BeginGetRequestStream, GetResponse, atau BeginGetResponse melemparkan InvalidOperationException. Untuk informasi tentang elemen proksi, lihat < defaultProxy> Element (Pengaturan Jaringan).
Berlaku untuk
Lihat juga
- Elemen DefaultProxy (Pengaturan Jaringan)
- Mengonfigurasi Aplikasi Internet
- Konfigurasi Proksi
- Deteksi Proksi Otomatis