Bagikan melalui


HttpWebRequest Kelas

Definisi

Menyediakan implementasi khusus HTTP dari kelas WebRequest.

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

Hati

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

Kelas 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 konstruktor HttpWebRequest. Gunakan metode WebRequest.Create untuk menginisialisasi objek HttpWebRequest baru. Jika skema untuk Pengidentifikasi Sumber Daya Seragam (URI) http:// atau https://, Create mengembalikan objek HttpWebRequest.

Metode GetResponse membuat permintaan sinkron ke sumber daya yang ditentukan dalam properti RequestUri 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, metode GetRequestStream mengembalikan objek Stream untuk 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 melemparkan WebException saat kesalahan terjadi saat mengakses sumber daya. Properti WebException.Status berisi nilai WebExceptionStatus yang menunjukkan sumber kesalahan. Saat WebException.StatusWebExceptionStatus.ProtocolError, properti Response berisi HttpWebResponse yang 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 di properti Headers 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 properti Accept.
Connection Diatur oleh properti Connection, properti KeepAlive.
Content-Length Diatur oleh properti ContentLength.
Content-Type Diatur oleh properti ContentType.
Expect Diatur oleh properti Expect.
Date Diatur oleh sistem ke tanggal saat ini.
Host Diatur oleh sistem ke informasi host saat ini.
If-Modified-Since Diatur oleh properti IfModifiedSince.
Range Diatur oleh metode AddRange.
Referer Diatur oleh properti Referer.
Transfer-Encoding Diatur oleh properti TransferEncoding (properti SendChunked harus true).
User-Agent Diatur oleh properti UserAgent.

Nota

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

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.

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 pertama ClientCertificates (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 properti CookieContainer 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 mempertahankan interoperabilitas dengan layanan SSL3 atau layanan TLS w/ RC4 yang ada. 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 baru kelas HttpWebRequest dari instans yang ditentukan dari kelas SerializationInfo dan StreamingContext. Konstruktor ini sudah usang.

Properti

Accept

Mendapatkan atau mengatur nilai header HTTP Accept.

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

ConnectionGroupName

Mendapatkan atau mengatur nama grup koneksi untuk permintaan tersebut.

ConnectionGroupName

Saat ditimpa di kelas turunan, mendapatkan atau mengatur nama grup koneksi untuk permintaan tersebut.

(Diperoleh dari WebRequest)
ContentLength

Mendapatkan atau mengatur header HTTP Content-length.

ContentLength

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

(Diperoleh dari WebRequest)
ContentType

Mendapatkan atau mengatur nilai header HTTP Content-type.

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 IWebRequestCreate yang digunakan untuk membuat WebRequest dibuat untuk membuat permintaan ke URI yang ditentukan.

(Diperoleh dari WebRequest)
Credentials

Mendapatkan atau mengatur informasi autentikasi untuk permintaan tersebut.

Date

Mendapatkan atau mengatur nilai header HTTP Date untuk 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 properti MaximumResponseHeadersLength.

Expect

Mendapatkan atau mengatur nilai header HTTP Expect.

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

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.

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

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

Timeout

Mendapatkan atau mengatur lamanya waktu, dalam milidetik, sebelum waktu permintaan habis.

(Diperoleh dari WebRequest)
TransferEncoding

Mendapatkan atau mengatur nilai header HTTP Transfer-encoding.

UnsafeAuthenticatedConnectionSharing

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

UseDefaultCredentials

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

UseDefaultCredentials

Saat ditimpa di kelas turunan, mendapatkan atau menetapkan nilai Boolean yang mengontrol apakah DefaultCredentials dikirim dengan permintaan.

(Diperoleh dari WebRequest)
UserAgent

Mendapatkan atau mengatur nilai header HTTP User-agent.

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 untuk 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 untuk 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 Stream yang 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 Stream yang digunakan untuk menulis data.

EndGetRequestStream(IAsyncResult, TransportContext)

Mengakhiri permintaan asinkron untuk objek Stream yang digunakan untuk menulis data dan menghasilkan TransportContext yang 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 instans WebRequest.

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 SerializationInfo dengan data yang diperlukan untuk membuat serialisasi objek target.

GetObjectData(SerializationInfo, StreamingContext)
Kedaluwarsa.

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

(Diperoleh dari WebRequest)
GetRequestStream()

Mendapatkan objek Stream untuk 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 Stream untuk digunakan untuk menulis data permintaan dan menghasilkan TransportContext yang 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 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 MarshalByRefObject saat ini.

(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 SerializationInfo dengan data yang 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