HttpWebRequest Kelas
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.
Menyediakan implementasi khusus HTTP dari WebRequest kelas .
public ref class HttpWebRequest : System::Net::WebRequest
public ref class HttpWebRequest : System::Net::WebRequest, System::Runtime::Serialization::ISerializable
public class HttpWebRequest : System.Net.WebRequest
public class HttpWebRequest : System.Net.WebRequest, System.Runtime.Serialization.ISerializable
[System.Serializable]
public class HttpWebRequest : System.Net.WebRequest, System.Runtime.Serialization.ISerializable
type HttpWebRequest = class
inherit WebRequest
type HttpWebRequest = class
inherit WebRequest
interface ISerializable
[<System.Serializable>]
type HttpWebRequest = class
inherit WebRequest
interface ISerializable
Public Class HttpWebRequest
Inherits WebRequest
Public Class HttpWebRequest
Inherits WebRequest
Implements ISerializable
- Warisan
- Warisan
- Atribut
- Penerapan
Contoh
Contoh kode berikut membuat HttpWebRequest untuk URI http://www.contoso.com/
.
HttpWebRequest^ myReq = dynamic_cast<HttpWebRequest^>(WebRequest::Create( "http://www.contoso.com/" ));
HttpWebRequest myReq =
(HttpWebRequest)WebRequest.Create("http://www.contoso.com/");
Dim myReq As HttpWebRequest = _
WebRequest.Create("http://www.contoso.com/")
Keterangan
Penting
Kami menyarankan agar Anda tidak menggunakan HttpWebRequest
untuk pengembangan baru. Sebagai gantinya System.Net.Http.HttpClient , gunakan kelas .
Kelas HttpWebRequest ini menyediakan dukungan untuk properti dan metode yang ditentukan dalam WebRequest dan untuk properti dan metode tambahan yang memungkinkan pengguna berinteraksi langsung dengan server menggunakan HTTP.
Jangan gunakan HttpWebRequest konstruktor.
WebRequest.Create Gunakan metode untuk menginisialisasi objek baruHttpWebRequest. Jika skema untuk Pengidentifikasi Sumber Daya Seragam (URI) adalah http://
atau https://
, Create mengembalikan HttpWebRequest objek.
Metode membuat GetResponse permintaan sinkron ke sumber daya yang ditentukan dalam RequestUri properti dan mengembalikan HttpWebResponse yang berisi objek respons. Data respons dapat diterima dengan menggunakan aliran yang dikembalikan oleh GetResponseStream. Jika objek respons atau aliran respons ditutup, data yang tersisa akan hangus. Data yang tersisa akan dikosongkan dan soket akan digunakan kembali untuk permintaan berikutnya saat menutup objek respons atau aliran jika kondisi berikut disimpan: ini adalah permintaan tetap hidup atau disalurkan, hanya sejumlah kecil data yang perlu diterima, atau data yang tersisa diterima dalam interval waktu kecil. Jika tidak ada penahanan kondisi yang disebutkan atau waktu pengurasan terlampaui, soket akan ditutup. Untuk koneksi tetap hidup atau tersalurkan, kami sangat menyarankan agar aplikasi membaca aliran hingga EOF. Ini memastikan bahwa soket akan digunakan kembali untuk permintaan berikutnya yang menghasilkan performa yang lebih baik dan lebih sedikit sumber daya yang digunakan.
Saat Anda ingin mengirim data ke sumber daya, GetRequestStream metode mengembalikan objek yang Stream akan digunakan untuk mengirim data. Metode BeginGetRequestStream dan EndGetRequestStream menyediakan akses asinkron ke aliran kirim data.
Untuk autentikasi klien dengan HttpWebRequest, sertifikat klien harus diinstal di Penyimpanan sertifikat saya dari pengguna saat ini.
Kelas HttpWebRequest melemparkan WebException ketika kesalahan terjadi saat mengakses sumber daya. Properti WebException.Status berisi WebExceptionStatus nilai yang menunjukkan sumber kesalahan. Ketika WebException.Status adalah WebExceptionStatus.ProtocolError, Response properti berisi yang HttpWebResponse diterima dari sumber daya.
HttpWebRequest mengekspos nilai header HTTP umum yang dikirim ke sumber daya Internet sebagai properti, diatur oleh metode, atau diatur oleh sistem; tabel berikut ini berisi daftar lengkap. Anda dapat mengatur header lain dalam Headers properti sebagai pasangan nama/nilai. Perhatikan bahwa server dan cache dapat mengubah atau menambahkan header selama permintaan.
Tabel berikut mencantumkan header HTTP yang diatur baik menurut properti atau metode atau sistem.
Header | Diatur oleh |
---|---|
Accept |
Diatur oleh Accept properti . |
Connection |
Diatur oleh Connection properti , KeepAlive properti . |
Content-Length |
Diatur oleh ContentLength properti . |
Content-Type |
Diatur oleh ContentType properti . |
Expect |
Diatur oleh Expect properti . |
Date |
Diatur oleh sistem ke tanggal saat ini. |
Host |
Atur oleh sistem ke informasi host saat ini. |
If-Modified-Since |
Diatur oleh IfModifiedSince properti . |
Range |
Diatur oleh AddRange metode . |
Referer |
Diatur oleh Referer properti . |
Transfer-Encoding |
Diatur oleh TransferEncoding properti ( SendChunked properti harus true ). |
User-Agent |
Diatur oleh UserAgent properti . |
Catatan
HttpWebRequest terdaftar secara otomatis. Anda tidak perlu memanggil RegisterPrefix metode untuk mendaftar System.Net.HttpWebRequest sebelum menggunakan URI yang dimulai dengan http://
atau https://
.
Komputer lokal atau file konfigurasi aplikasi dapat menentukan bahwa proksi default digunakan. Proxy Jika properti ditentukan, maka pengaturan proksi dari Proxy properti mengambil alih komputer lokal atau file konfigurasi aplikasi dan HttpWebRequest instans akan menggunakan pengaturan proksi yang ditentukan. Jika tidak ada proksi yang ditentukan dalam file konfigurasi dan Proxy properti tidak ditentukan, HttpWebRequest kelas menggunakan pengaturan proksi yang diwarisi dari opsi Internet di komputer lokal. Jika tidak ada pengaturan proksi dalam opsi Internet, permintaan dikirim langsung ke server.
Catatan
Framework menyimpan sesi SSL saat dibuat dan mencoba menggunakan kembali sesi yang di-cache untuk permintaan baru, jika memungkinkan. Saat mencoba menggunakan kembali sesi SSL, Kerangka Kerja menggunakan elemen ClientCertificates pertama (jika ada), atau mencoba menggunakan kembali sesi anonim jika ClientCertificates kosong.
Catatan
Untuk alasan keamanan, cookie dinonaktifkan secara default. Jika Anda ingin menggunakan cookie, gunakan CookieContainer properti untuk mengaktifkan cookie.
.NET Framework 4.6 menyertakan fitur keamanan baru yang memblokir cipher dan algoritma hashing yang tidak aman untuk koneksi. Aplikasi yang menggunakan TLS/SSL melalui API seperti HttpClient, HttpWebRequest, FTPClient, SmtpClient, SslStream, dll. dan menargetkan .NET Framework 4.6 mendapatkan perilaku yang lebih aman secara default.
Pengembang mungkin ingin menolak perilaku ini untuk menjaga interoperabilitas dengan layanan SSL3 yang ada ATAU layanan TLS w/ RC4. Artikel ini menjelaskan cara mengubah kode Anda sehingga perilaku baru dinonaktifkan.
Konstruktor
HttpWebRequest() |
Kedaluwarsa.
Kedaluwarsa.
Menginisialisasi instans baru kelas HttpWebRequest. Konstruktor ini sudah usang. |
HttpWebRequest(SerializationInfo, StreamingContext) |
Kedaluwarsa.
Kedaluwarsa.
Kedaluwarsa.
Kedaluwarsa.
Menginisialisasi instans HttpWebRequest baru kelas dari instans SerializationInfo dan StreamingContext kelas yang ditentukan. Konstruktor ini sudah usang. |
Properti
Accept |
Mendapatkan atau mengatur nilai |
Address |
Mendapatkan Pengidentifikasi Sumber Daya Seragam (URI) sumber daya Internet yang benar-benar merespons permintaan. |
AllowAutoRedirect |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah permintaan harus mengikuti respons pengalihan. |
AllowReadStreamBuffering |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah akan menyangga yang diterima dari sumber daya Internet. |
AllowWriteStreamBuffering |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah akan menyangga data yang dikirim ke sumber daya Internet. |
AuthenticationLevel |
Mendapatkan atau menetapkan nilai yang menunjukkan tingkat autentikasi dan peniruan yang digunakan untuk permintaan ini. (Diperoleh dari WebRequest) |
AutomaticDecompression |
Mendapatkan atau mengatur jenis dekompresi yang digunakan. |
CachePolicy |
Mendapatkan atau menetapkan kebijakan cache untuk permintaan ini. (Diperoleh dari WebRequest) |
ClientCertificates |
Mendapatkan atau mengatur kumpulan sertifikat keamanan yang terkait dengan permintaan ini. |
Connection |
Mendapatkan atau mengatur nilai |
ConnectionGroupName |
Mendapatkan atau mengatur nama grup koneksi untuk permintaan tersebut. |
ConnectionGroupName |
Saat ditimpa di kelas turunan, mendapatkan atau menetapkan nama grup koneksi untuk permintaan tersebut. (Diperoleh dari WebRequest) |
ContentLength |
Mendapatkan atau mengatur |
ContentLength |
Saat ditimpa di kelas turunan, mendapatkan atau mengatur panjang konten data permintaan yang dikirim. (Diperoleh dari WebRequest) |
ContentType |
Mendapatkan atau mengatur nilai |
ContinueDelegate |
Mendapatkan atau mengatur metode delegasi yang dipanggil ketika respons HTTP 100-lanjut diterima dari sumber daya Internet. |
ContinueTimeout |
Mendapatkan atau mengatur batas waktu, dalam milidetik, untuk menunggu hingga 100-Lanjutkan diterima dari server. |
CookieContainer |
Mendapatkan atau mengatur cookie yang terkait dengan permintaan. |
CreatorInstance |
Kedaluwarsa.
Ketika ditimpa di kelas turunan, mendapatkan objek pabrik yang berasal dari kelas yang IWebRequestCreate digunakan untuk membuat WebRequest instans untuk membuat permintaan ke URI yang ditentukan. (Diperoleh dari WebRequest) |
Credentials |
Mendapatkan atau mengatur informasi autentikasi untuk permintaan tersebut. |
Date |
Mendapatkan atau mengatur |
DefaultCachePolicy |
Mendapatkan atau menetapkan kebijakan cache default untuk permintaan ini. |
DefaultMaximumErrorResponseLength |
Mendapatkan atau mengatur panjang maksimum default respons kesalahan HTTP. |
DefaultMaximumResponseHeadersLength |
Mendapatkan atau mengatur default untuk MaximumResponseHeadersLength properti . |
Expect |
Mendapatkan atau mengatur nilai |
HaveResponse |
Mendapatkan nilai yang menunjukkan apakah respons telah diterima dari sumber daya Internet. |
Headers |
Menentukan kumpulan pasangan nama/nilai yang membentuk header HTTP. |
Host |
Mendapatkan atau mengatur nilai header Host untuk digunakan dalam permintaan HTTP yang independen dari URI permintaan. |
IfModifiedSince |
Mendapatkan atau mengatur nilai |
ImpersonationLevel |
Mendapatkan atau mengatur tingkat peniruan untuk permintaan saat ini. (Diperoleh dari WebRequest) |
KeepAlive |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah akan membuat koneksi persisten ke sumber daya Internet. |
MaximumAutomaticRedirections |
Mendapatkan atau mengatur jumlah maksimum pengalihan yang diikuti permintaan. |
MaximumResponseHeadersLength |
Mendapatkan atau mengatur panjang maksimum header respons yang diizinkan. |
MediaType |
Mendapatkan atau mengatur jenis media permintaan. |
Method |
Mendapatkan atau mengatur metode untuk permintaan. |
Pipelined |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah akan menyalurkan permintaan ke sumber daya Internet. |
PreAuthenticate |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah akan mengirim header Otorisasi dengan permintaan. |
PreAuthenticate |
Saat ditimpa di kelas turunan, menunjukkan apakah akan melakukan pra-autentikasi permintaan. (Diperoleh dari WebRequest) |
ProtocolVersion |
Mendapatkan atau mengatur versi HTTP yang akan digunakan untuk permintaan. |
Proxy |
Mendapatkan atau mengatur informasi proksi untuk permintaan tersebut. |
Proxy |
Ketika ditimpa di kelas turunan, mendapatkan atau mengatur proksi jaringan untuk digunakan untuk mengakses sumber daya Internet ini. (Diperoleh dari WebRequest) |
ReadWriteTimeout |
Mendapatkan atau mengatur waktu habis dalam milidetik saat menulis ke atau membaca dari aliran. |
Referer |
Mendapatkan atau mengatur nilai |
RequestUri |
Mendapatkan Pengidentifikasi Sumber Daya Seragam (URI) asli dari permintaan. |
SendChunked |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah akan mengirim data dalam segmen ke sumber daya Internet. |
ServerCertificateValidationCallback |
Mendapatkan atau mengatur fungsi panggilan balik untuk memvalidasi sertifikat server. |
ServicePoint |
Mendapatkan titik layanan yang akan digunakan untuk permintaan. |
SupportsCookieContainer |
Mendapatkan nilai yang menunjukkan apakah permintaan menyediakan dukungan untuk CookieContainer. |
Timeout |
Mendapatkan atau mengatur nilai waktu habis dalam milidetik untuk GetResponse() metode dan GetRequestStream() . |
Timeout |
Mendapatkan atau mengatur lamanya waktu, dalam milidetik, sebelum waktu permintaan habis. (Diperoleh dari WebRequest) |
TransferEncoding |
Mendapatkan atau mengatur nilai |
UnsafeAuthenticatedConnectionSharing |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah akan mengizinkan berbagi koneksi terautentikasi NTLM berkecepatan tinggi. |
UseDefaultCredentials |
Mendapatkan atau menetapkan Boolean nilai yang mengontrol apakah kredensial default dikirim dengan permintaan. |
UseDefaultCredentials |
Saat ditimpa di kelas turunan, mendapatkan atau menetapkan Boolean nilai yang mengontrol apakah DefaultCredentials dikirim dengan permintaan. (Diperoleh dari WebRequest) |
UserAgent |
Mendapatkan atau mengatur nilai |
Metode
Abort() |
Membatalkan permintaan ke sumber daya Internet. |
AddRange(Int32) |
Menambahkan header rentang byte ke permintaan untuk rentang tertentu dari awal atau akhir data yang diminta. |
AddRange(Int32, Int32) |
Menambahkan header rentang byte ke permintaan rentang tertentu. |
AddRange(Int64) |
Menambahkan header rentang byte ke permintaan untuk rentang tertentu dari awal atau akhir data yang diminta. |
AddRange(Int64, Int64) |
Menambahkan header rentang byte ke permintaan rentang tertentu. |
AddRange(String, Int32) |
Menambahkan header Rentang ke permintaan rentang tertentu dari awal atau akhir data yang diminta. |
AddRange(String, Int32, Int32) |
Menambahkan header rentang ke permintaan untuk rentang tertentu. |
AddRange(String, Int64) |
Menambahkan header Rentang ke permintaan rentang tertentu dari awal atau akhir data yang diminta. |
AddRange(String, Int64, Int64) |
Menambahkan header rentang ke permintaan untuk rentang tertentu. |
BeginGetRequestStream(AsyncCallback, Object) |
Memulai permintaan asinkron untuk objek yang Stream digunakan untuk menulis data. |
BeginGetResponse(AsyncCallback, Object) |
Memulai permintaan asinkron ke sumber daya Internet. |
CreateObjRef(Type) |
Membuat objek yang berisi semua informasi relevan yang diperlukan untuk menghasilkan proksi yang digunakan untuk berkomunikasi dengan objek jarak jauh. (Diperoleh dari MarshalByRefObject) |
EndGetRequestStream(IAsyncResult) |
Mengakhiri permintaan asinkron untuk objek yang Stream digunakan untuk menulis data. |
EndGetRequestStream(IAsyncResult, TransportContext) |
Mengakhiri permintaan asinkron untuk objek yang Stream digunakan untuk menulis data dan menghasilkan yang TransportContext terkait dengan aliran. |
EndGetResponse(IAsyncResult) |
Mengakhiri permintaan asinkron ke sumber daya Internet. |
Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
GetHashCode() |
Mengembalikan nilai hash untuk WebRequest instans. |
GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
GetLifetimeService() |
Kedaluwarsa.
Mengambil objek layanan seumur hidup saat ini yang mengontrol kebijakan seumur hidup untuk instans ini. (Diperoleh dari MarshalByRefObject) |
GetObjectData(SerializationInfo, StreamingContext) |
Kedaluwarsa.
Kedaluwarsa.
Kedaluwarsa.
Mengisi dengan data yang SerializationInfo diperlukan untuk membuat serialisasi objek target. |
GetObjectData(SerializationInfo, StreamingContext) |
Kedaluwarsa.
Mengisi dengan data yang SerializationInfo diperlukan untuk membuat serialisasi objek target. (Diperoleh dari WebRequest) |
GetRequestStream() |
Mendapatkan objek yang Stream akan digunakan untuk menulis data permintaan. |
GetRequestStream() |
Saat ditimpa di kelas turunan, mengembalikan Stream untuk menulis data ke sumber daya Internet. (Diperoleh dari WebRequest) |
GetRequestStream(TransportContext) |
Mendapatkan objek yang Stream akan digunakan untuk menulis data permintaan dan menghasilkan yang TransportContext terkait dengan aliran. |
GetRequestStreamAsync() |
Saat ditimpa di kelas turunan, mengembalikan Stream untuk menulis data ke sumber daya Internet sebagai operasi asinkron. (Diperoleh dari WebRequest) |
GetResponse() |
Mengembalikan respons dari sumber daya Internet. |
GetResponse() |
Saat ditimpa di kelas turunan, mengembalikan respons terhadap permintaan Internet. (Diperoleh dari WebRequest) |
GetResponseAsync() |
Saat ditimpa di kelas turunan, mengembalikan respons terhadap permintaan Internet sebagai operasi asinkron. (Diperoleh dari WebRequest) |
GetType() |
Mendapatkan instans Type saat ini. (Diperoleh dari Object) |
InitializeLifetimeService() |
Kedaluwarsa.
Mendapatkan objek layanan seumur hidup untuk mengontrol kebijakan seumur hidup untuk instans ini. (Diperoleh dari MarshalByRefObject) |
MemberwiseClone() |
Membuat salinan dangkal dari yang saat ini Object. (Diperoleh dari Object) |
MemberwiseClone(Boolean) |
Membuat salinan dangkal objek saat ini MarshalByRefObject . (Diperoleh dari MarshalByRefObject) |
ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |
Implementasi Antarmuka Eksplisit
ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
Kedaluwarsa.
Kedaluwarsa.
Kedaluwarsa.
Mengisi dengan data yang SerializationInfo diperlukan untuk membuat serialisasi objek target. |
Metode Ekstensi
GetRequestMetadata(HttpWebRequest) |
Mendapatkan metadata untuk permintaan keluar yang akan digunakan untuk tujuan telemetri. |
SetRequestMetadata(HttpWebRequest, RequestMetadata) |
Mengatur metadata untuk permintaan keluar yang akan digunakan untuk tujuan telemetri. |
Berlaku untuk
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk