HttpWebRequest Kelas

Definisi

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
HttpWebRequest
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 tidak menyarankan Anda menggunakan HttpWebRequest untuk pengembangan baru. Sebagai gantinya System.Net.Http.HttpClient , gunakan kelas .

Kelas menyediakan HttpWebRequest 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 ini GetResponse membuat permintaan sinkron ke sumber daya yang ditentukan dalam RequestUri properti dan mengembalikan yang HttpWebResponse 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 streaming jika kondisi berikut menahan: 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 disalurkan, 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 data kirim.

Untuk autentikasi klien dengan HttpWebRequest, sertifikat klien harus diinstal di penyimpanan Sertifikat saya pengguna saat ini.

Kelas HttpWebRequest memunculkan 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 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 Diatur 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 Internet Explorer di komputer lokal. Jika tidak ada pengaturan proksi di Internet Explorer, permintaan dikirim langsung ke server.

Kelas HttpWebRequest mengurai daftar bypass proksi dengan karakter kartubebas yang diwarisi dari Internet Explorer secara berbeda dari daftar bypass diurai langsung oleh Internet Explorer. Misalnya, HttpWebRequest kelas akan mengurai daftar bypass "nt*" dari Internet Explorer sebagai ekspresi reguler "nt.$". Ini berbeda dari perilaku asli Internet Explorer. Jadi URL "http://intxxxxx" akan melewati proksi menggunakan HttpWebRequest kelas , tetapi tidak akan melewati proksi menggunakan Internet Explorer.

Catatan

Kerangka kerja 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 Accept header HTTP.

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 Connection header HTTP.

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 Content-length header HTTP.

ContentLength

Saat ditimpa di kelas turunan, mendapatkan atau mengatur panjang konten data permintaan yang dikirim.

(Diperoleh dari WebRequest)
ContentType

Mendapatkan atau mengatur nilai Content-type header HTTP.

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 Date nilai header HTTP untuk digunakan dalam permintaan HTTP.

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 Expect header HTTP.

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 If-Modified-Since header HTTP.

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 Referer header HTTP.

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 Transfer-encoding header HTTP.

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 User-agent header HTTP.

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 dari 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 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