Bagikan melalui


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 =
(HttpWebRequest)WebRequest.Create("http://www.contoso.com/");

Dim myReq As HttpWebRequest = _
    WebRequest.Create("http://www.contoso.com/")

Keterangan

Hati

WebRequest, , HttpWebRequestServicePoint, dan WebClient usang, dan Anda tidak boleh menggunakannya untuk pengembangan baru. Gunakan HttpClient sebagai gantinya.

Kelas ini HttpWebRequest 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 ini GetResponse membuat 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 menyimpan: 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 pipa, 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 dari 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 menurut 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 .

Nota

HttpWebRequest terdaftar secara otomatis. Anda tidak perlu memanggil RegisterPrefix metode untuk mendaftar System.Net.HttpWebRequest sebelum menggunakan URI yang dimulai dengan http:// atau https://.

File konfigurasi komputer atau aplikasi lokal 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.

Nota

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.

Nota

Untuk alasan keamanan, cookie dinonaktifkan secara default. Jika Anda ingin menggunakan cookie, gunakan CookieContainer properti untuk mengaktifkan cookie.

Untuk aplikasi yang menggunakan TLS/SSL melalui API seperti HttpClient, HttpWebRequest, FTPClient, SmtpClient, dan SsStream, blok .NET tidak aman cipher dan algoritma hashing untuk koneksi secara default. Anda mungkin perlu menolak perilaku ini untuk mempertahankan interoperabilitas dengan layanan SSL3 yang ada ATAU layanan TLS w/ RC4. Tidak dapat tersambung ke server dengan menggunakan Api ServicePointManager atau SslStream setelah peningkatan ke .NET Framework 4.6 menjelaskan cara mengubah kode Anda untuk menonaktifkan perilaku ini, jika perlu.

Konstruktor

Nama Deskripsi
HttpWebRequest()
Kedaluwarsa.
Kedaluwarsa.

Menginisialisasi instans baru dari 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

Nama Deskripsi
Accept

Mendapatkan atau mengatur nilai Accept header HTTP.

Address

Mendapatkan Pengidentifikasi Sumber Daya Seragam (URI) sumber daya Internet yang benar-benar menanggapi permintaan tersebut.

AllowAutoRedirect

Mendapatkan atau menetapkan nilai yang menunjukkan apakah permintaan harus mengikuti respons pengalihan.

AllowReadStreamBuffering

Mendapatkan atau menetapkan nilai yang menunjukkan apakah akan buffer 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 mengatur 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.

ContentLength

Mendapatkan atau mengatur Content-length header HTTP.

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 yang akan digunakan dalam permintaan HTTP.

DefaultCachePolicy

Mendapatkan atau mengatur 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 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 yang diizinkan dari header respons.

MediaType

Mendapatkan atau mengatur jenis media permintaan.

Method

Mendapatkan atau mengatur metode untuk permintaan.

Pipelined

Mendapatkan atau menetapkan nilai yang menunjukkan apakah akan membuat alur permintaan ke sumber daya Internet.

PreAuthenticate

Mendapatkan atau menetapkan nilai yang menunjukkan apakah akan mengirim header Otorisasi dengan permintaan.

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 batas waktu dalam milidetik untuk GetResponse() metode dan GetRequestStream() .

TransferEncoding

Mendapatkan atau mengatur nilai Transfer-encoding header HTTP.

UnsafeAuthenticatedConnectionSharing

Mendapatkan atau menetapkan nilai yang menunjukkan apakah akan mengizinkan berbagi koneksi yang diautentikasi NTLM berkecepatan tinggi.

UseDefaultCredentials

Mendapatkan atau menetapkan Boolean nilai yang mengontrol apakah kredensial default dikirim dengan permintaan.

UserAgent

Mendapatkan atau mengatur nilai User-agent header HTTP.

Metode

Nama Deskripsi
Abort()

Membatalkan permintaan ke sumber daya Internet.

AddRange(Int32, Int32)

Menambahkan header rentang byte ke permintaan untuk rentang tertentu.

AddRange(Int32)

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 untuk rentang tertentu.

AddRange(Int64)

Menambahkan header rentang byte ke permintaan untuk rentang tertentu dari awal atau akhir data yang diminta.

AddRange(String, Int32, Int32)

Menambahkan header rentang ke permintaan untuk rentang tertentu.

AddRange(String, Int32)

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.

AddRange(String, Int64)

Menambahkan header Rentang ke permintaan rentang tertentu dari awal atau akhir data yang diminta.

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, TransportContext)

Mengakhiri permintaan asinkron untuk objek yang Stream digunakan untuk menulis data dan menghasilkan yang TransportContext terkait dengan aliran.

EndGetRequestStream(IAsyncResult)

Mengakhiri permintaan asinkron untuk objek yang Stream digunakan untuk menulis data.

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.

GetRequestStream()

Mendapatkan objek yang Stream akan digunakan untuk menulis data permintaan.

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.

GetResponseAsync()

Saat ditimpa di kelas turunan, mengembalikan respons terhadap permintaan Internet sebagai operasi asinkron.

(Diperoleh dari WebRequest)
GetType()

Mendapatkan Type instans 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 Objectsaat ini.

(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

Nama Deskripsi
ISerializable.GetObjectData(SerializationInfo, StreamingContext)
Kedaluwarsa.
Kedaluwarsa.
Kedaluwarsa.

Mengisi dengan data yang SerializationInfo diperlukan untuk membuat serialisasi objek target.

Berlaku untuk

Lihat juga