HttpWebRequest Sınıf

Tanım

WebRequest sınıfının HTTP'ye özgü bir uygulamasını sağlar.

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
Devralma
HttpWebRequest
Devralma
Öznitelikler
Uygulamalar

Örnekler

Aşağıdaki kod örneği, URI http://www.contoso.com/için bir HttpWebRequest oluşturur.

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/")

Açıklamalar

Dikkat

WebRequest, HttpWebRequest, ServicePointve WebClient kullanım dışıdır ve bunları yeni geliştirme için kullanmamalısınız. Bunun yerine HttpClient kullanın.

HttpWebRequest sınıfı, WebRequest tanımlanan özellikler ve yöntemler ve kullanıcının HTTP kullanarak sunucularla doğrudan etkileşim kurmasını sağlayan ek özellikler ve yöntemler için destek sağlar.

HttpWebRequest oluşturucuyu kullanmayın. Yeni HttpWebRequest nesneleri başlatmak için WebRequest.Create yöntemini kullanın. Tekdüzen Kaynak Tanımlayıcısı (URI) şeması http:// veya https://ise Create bir HttpWebRequest nesnesi döndürür.

GetResponse yöntemi, RequestUri özelliğinde belirtilen kaynağa zaman uyumlu bir istekte bulunur ve yanıt nesnesini içeren bir HttpWebResponse döndürür. Yanıt verileri, GetResponseStreamtarafından döndürülen akış kullanılarak alınabiliyor. Yanıt nesnesi veya yanıt akışı kapatılırsa kalan veriler kaybedilir. Kalan veriler boşaltılır ve aşağıdaki koşullar geçerliyse yanıt nesnesi veya akışı kapatılırken sonraki istekler için yuva yeniden kullanılır: bu bir canlı tutma veya işlem hattı isteğidir, yalnızca az miktarda veri alınması gerekir veya kalan veriler küçük bir zaman aralığında alınır. Belirtilen koşullardan hiçbiri tutmazsa veya boşaltma süresi aşılırsa yuva kapatılır. Canlı tutma veya işlem hattı bağlantıları için uygulamanın EOF'ye kadar akışları okumasını kesinlikle öneririz. Bu, daha iyi performans ve daha az kaynak kullanılmasına neden olan sonraki istekler için yuvanın yeniden kullanılmasını sağlar.

Kaynağa veri göndermek istediğinizde, GetRequestStream yöntemi veri göndermek için kullanılacak bir Stream nesnesi döndürür. BeginGetRequestStream ve EndGetRequestStream yöntemleri, veri gönderme akışına zaman uyumsuz erişim sağlar.

HttpWebRequestile istemci kimlik doğrulaması için, istemci sertifikası geçerli kullanıcının Sertifikam deposuna yüklenmelidir.

HttpWebRequest sınıfı, kaynağa erişirken hatalar oluştuğunda bir WebException oluşturur. WebException.Status özelliği, hatanın kaynağını gösteren bir WebExceptionStatus değeri içerir. WebException.Status WebExceptionStatus.ProtocolErrorolduğunda, Response özelliği kaynaktan alınan HttpWebResponse içerir.

HttpWebRequest, İnternet kaynağına özellik olarak gönderilen, yöntemlere göre ayarlanan veya sistem tarafından ayarlanan ortak HTTP üst bilgi değerlerini kullanıma sunar; aşağıdaki tabloda tam bir liste yer alır. Headers özelliğindeki diğer üst bilgileri ad/değer çiftleri olarak ayarlayabilirsiniz. Sunucuların ve önbelleklerin istek sırasında üst bilgileri değiştirebileceğini veya ekleyebileceğini unutmayın.

Aşağıdaki tabloda, özelliklere, yöntemlere veya sisteme göre ayarlanan HTTP üst bilgileri listelenir.

Üstbilgi Ayar ölçütü
Accept Accept özelliğine göre ayarlayın.
Connection Connection özelliğine göre KeepAlive özelliğine göre ayarlayın.
Content-Length ContentLength özelliğine göre ayarlayın.
Content-Type ContentType özelliğine göre ayarlayın.
Expect Expect özelliğine göre ayarlayın.
Date Sistem tarafından geçerli tarihe ayarlanır.
Host Sistem tarafından geçerli konak bilgilerine ayarlayın.
If-Modified-Since IfModifiedSince özelliğine göre ayarlayın.
Range AddRange yöntemi tarafından ayarlanır.
Referer Referer özelliğine göre ayarlayın.
Transfer-Encoding TransferEncoding özelliği tarafından ayarlanır (SendChunked özelliği trueolmalıdır).
User-Agent UserAgent özelliğine göre ayarlayın.

Not

HttpWebRequest otomatik olarak kaydedilir. http:// veya https://ile başlayan URI'leri kullanmadan önce System.Net.HttpWebRequest kaydetmek için RegisterPrefix yöntemini çağırmanız gerekmez.

Yerel bilgisayar veya uygulama yapılandırma dosyası varsayılan bir ara sunucunun kullanılacağını belirtebilir. Proxy özelliği belirtilirse, Proxy özelliğindeki ara sunucu ayarları yerel bilgisayarı veya uygulama yapılandırma dosyasını geçersiz kılar ve HttpWebRequest örneği belirtilen ara sunucu ayarlarını kullanır. Yapılandırma dosyasında hiçbir ara sunucu belirtilmezse ve Proxy özelliği belirtilmezse, HttpWebRequest sınıfı yerel bilgisayardaki İnternet seçeneklerinden devralınan ara sunucu ayarlarını kullanır. İnternet seçeneklerinde ara sunucu ayarları yoksa istek doğrudan sunucuya gönderilir.

Not

Framework, ssl oturumlarını oluşturuldukları gibi önbelleğe alır ve mümkünse yeni bir istek için önbelleğe alınmış bir oturumu yeniden kullanma girişiminde bulunur. Bir SSL oturumunu yeniden kullanma girişiminde bulunurken, Framework ClientCertificates ilk öğesini kullanır (varsa) veya ClientCertificates boşsa anonim oturumları yeniden kullanma girişiminde bulunur.

Not

Güvenlik nedeniyle tanımlama bilgileri varsayılan olarak devre dışı bırakılır. Tanımlama bilgilerini kullanmak istiyorsanız tanımlama bilgilerini etkinleştirmek için CookieContainer özelliğini kullanın.

.NET Framework 4.6, güvenli olmayan şifreleme ve bağlantılar için karma algoritmaları engelleyen yeni bir güvenlik özelliği içerir. HTTPClient, HttpWebRequest, FTPClient, SmtpClient, SslStream gibi API'ler aracılığıyla TLS/SSL kullanan ve .NET Framework 4.6'yı hedefleyen uygulamalar varsayılan olarak daha güvenli bir davranış elde eder.

Geliştiriciler, mevcut SSL3 hizmetleri veya RC4 w/ RC4 hizmetleriyle birlikte çalışabilirliği sürdürmek için bu davranışı geri çevirmek isteyebilir. Bu makalede, yeni davranışın devre dışı bırakılması için kodunuzun nasıl değiştirileceği açıklanmaktadır.

Oluşturucular

HttpWebRequest()
Geçersiz.
Geçersiz.

HttpWebRequest sınıfının yeni bir örneğini başlatır. Bu oluşturucu kullanımdan kaldırıldı.

HttpWebRequest(SerializationInfo, StreamingContext)
Geçersiz.
Geçersiz.
Geçersiz.
Geçersiz.

SerializationInfo ve StreamingContext sınıflarının belirtilen örneklerinden HttpWebRequest sınıfının yeni bir örneğini başlatır. Bu oluşturucu kullanımdan kaldırıldı.

Özellikler

Accept

Accept HTTP üst bilgisinin değerini alır veya ayarlar.

Address

İsteği gerçekten yanıtlayan İnternet kaynağının Tekdüzen Kaynak Tanımlayıcısını (URI) alır.

AllowAutoRedirect

İsteğin yeniden yönlendirme yanıtlarını izlemesi gerekip gerekmediğini belirten bir değer alır veya ayarlar.

AllowReadStreamBuffering

İnternet kaynağından alınan arabelleğe alınıp alınmayacağını belirten bir değer alır veya ayarlar.

AllowWriteStreamBuffering

İnternet kaynağına gönderilen verilerin arabelleğe alınıp alınmayacağını belirten bir değer alır veya ayarlar.

AuthenticationLevel

Bu istek için kullanılan kimlik doğrulaması ve kimliğe bürünme düzeyini gösteren değerleri alır veya ayarlar.

(Devralındığı yer: WebRequest)
AutomaticDecompression

Kullanılan sıkıştırma türünü alır veya ayarlar.

CachePolicy

Bu istek için önbellek ilkesini alır veya ayarlar.

(Devralındığı yer: WebRequest)
ClientCertificates

Bu istekle ilişkili güvenlik sertifikalarının koleksiyonunu alır veya ayarlar.

Connection

Connection HTTP üst bilgisinin değerini alır veya ayarlar.

ConnectionGroupName

İstek için bağlantı grubunun adını alır veya ayarlar.

ConnectionGroupName

Alt sınıfta geçersiz kılındığında, istek için bağlantı grubunun adını alır veya ayarlar.

(Devralındığı yer: WebRequest)
ContentLength

Content-length HTTP üst bilgisini alır veya ayarlar.

ContentLength

Alt sınıfta geçersiz kılındığında, gönderilen istek verilerinin içerik uzunluğunu alır veya ayarlar.

(Devralındığı yer: WebRequest)
ContentType

Content-type HTTP üst bilgisinin değerini alır veya ayarlar.

ContinueDelegate

İnternet kaynağından http 100 devam yanıtı alındığında çağrılan temsilci yöntemini alır veya ayarlar.

ContinueTimeout

Sunucudan 100-Continue alınana kadar beklemek için milisaniye cinsinden bir zaman aşımı alır veya ayarlar.

CookieContainer

İstekle ilişkili tanımlama bilgilerini alır veya ayarlar.

CreatorInstance
Geçersiz.

Bir alt sınıfta geçersiz kılındığında, belirtilen URI'ye istekte bulunmak için örneği oluşturulmuş WebRequest oluşturmak için kullanılan IWebRequestCreate sınıfından türetilen fabrika nesnesini alır.

(Devralındığı yer: WebRequest)
Credentials

İstek için kimlik doğrulama bilgilerini alır veya ayarlar.

Date

HTTP isteğinde kullanılacak Date HTTP üst bilgi değerini alır veya ayarlar.

DefaultCachePolicy

Bu istek için varsayılan önbellek ilkesini alır veya ayarlar.

DefaultMaximumErrorResponseLength

HTTP hata yanıtının varsayılan maksimum uzunluğunu alır veya ayarlar.

DefaultMaximumResponseHeadersLength

MaximumResponseHeadersLength özelliği için varsayılanı alır veya ayarlar.

Expect

Expect HTTP üst bilgisinin değerini alır veya ayarlar.

HaveResponse

Bir İnternet kaynağından yanıt alınıp alınmadığını gösteren bir değer alır.

Headers

HTTP üst bilgilerini oluşturan ad/değer çiftlerinin koleksiyonunu belirtir.

Host

İstek URI'sinden bağımsız bir HTTP isteğinde kullanılacak Konak üst bilgi değerini alır veya ayarlar.

IfModifiedSince

If-Modified-Since HTTP üst bilgisinin değerini alır veya ayarlar.

ImpersonationLevel

Geçerli istek için kimliğe bürünme düzeyini alır veya ayarlar.

(Devralındığı yer: WebRequest)
KeepAlive

İnternet kaynağına kalıcı bir bağlantı yapılıp yapılmayacağını belirten bir değer alır veya ayarlar.

MaximumAutomaticRedirections

İsteğin izlediği en fazla yeniden yönlendirme sayısını alır veya ayarlar.

MaximumResponseHeadersLength

Yanıt üst bilgilerinin izin verilen uzunluk üst sınırını alır veya ayarlar.

MediaType

İsteğin medya türünü alır veya ayarlar.

Method

İstek için yöntemini alır veya ayarlar.

Pipelined

İsteğin İnternet kaynağına işlem hattı oluşturup oluşturmayacağını belirten bir değer alır veya ayarlar.

PreAuthenticate

İstekle yetkilendirme üst bilgisinin gönderilip gönderilmeymeyeceğini belirten bir değer alır veya ayarlar.

PreAuthenticate

Bir alt sınıfta geçersiz kılındığında, isteğin ön kimliğinin doğrulanıp doğrulanmayacağını gösterir.

(Devralındığı yer: WebRequest)
ProtocolVersion

İstek için kullanılacak HTTP sürümünü alır veya ayarlar.

Proxy

İstek için ara sunucu bilgilerini alır veya ayarlar.

Proxy

Alt sınıfta geçersiz kılındığında, bu İnternet kaynağına erişmek için kullanılacak ağ ara sunucusunu alır veya ayarlar.

(Devralındığı yer: WebRequest)
ReadWriteTimeout

Bir akışa yazarken veya akıştan okurken milisaniye cinsinden zaman aşımı alır veya ayarlar.

Referer

Referer HTTP üst bilgisinin değerini alır veya ayarlar.

RequestUri

İsteğin özgün Tekdüzen Kaynak Tanımlayıcısını (URI) alır.

SendChunked

Segmentlerdeki verilerin İnternet kaynağına gönderilip gönderilmeydiğini gösteren bir değer alır veya ayarlar.

ServerCertificateValidationCallback

Sunucu sertifikasını doğrulamak için bir geri çağırma işlevi alır veya ayarlar.

ServicePoint

İstek için kullanılacak hizmet noktasını alır.

SupportsCookieContainer

İsteğin bir CookieContaineriçin destek sağlayıp sağlamadığını gösteren bir değer alır.

Timeout

GetResponse() ve GetRequestStream() yöntemleri için zaman aşımı değerini milisaniye cinsinden alır veya ayarlar.

Timeout

İstek zaman aşımına uğramadan önce milisaniye cinsinden süreyi alır veya ayarlar.

(Devralındığı yer: WebRequest)
TransferEncoding

Transfer-encoding HTTP üst bilgisinin değerini alır veya ayarlar.

UnsafeAuthenticatedConnectionSharing

Yüksek hızlı NTLM kimliği doğrulanmış bağlantı paylaşımına izin verilip verilmeyeceğini belirten bir değer alır veya ayarlar.

UseDefaultCredentials

Varsayılan kimlik bilgilerinin isteklerle gönderilip gönderilmediğini denetleen bir Boolean değeri alır veya ayarlar.

UseDefaultCredentials

Alt sınıfta geçersiz kılındığında, DefaultCredentials isteklerle gönderilip gönderilmediğini denetleyen bir Boolean değeri alır veya ayarlar.

(Devralındığı yer: WebRequest)
UserAgent

User-agent HTTP üst bilgisinin değerini alır veya ayarlar.

Yöntemler

Abort()

bir İnternet kaynağına yönelik isteği iptal eder.

AddRange(Int32)

İstenen verilerin başından veya sonundan belirli bir aralık için isteğe bayt aralığı üst bilgisi ekler.

AddRange(Int32, Int32)

Belirtilen aralık için isteğe bayt aralığı üst bilgisi ekler.

AddRange(Int64)

İstenen verilerin başından veya sonundan belirli bir aralık için isteğe bayt aralığı üst bilgisi ekler.

AddRange(Int64, Int64)

Belirtilen aralık için isteğe bayt aralığı üst bilgisi ekler.

AddRange(String, Int32)

İstenen verilerin başından veya sonundan belirli bir aralığın isteğine Aralık üst bilgisi ekler.

AddRange(String, Int32, Int32)

Belirtilen aralık için bir isteğe aralık üst bilgisi ekler.

AddRange(String, Int64)

İstenen verilerin başından veya sonundan belirli bir aralığın isteğine Aralık üst bilgisi ekler.

AddRange(String, Int64, Int64)

Belirtilen aralık için bir isteğe aralık üst bilgisi ekler.

BeginGetRequestStream(AsyncCallback, Object)

Veri yazmak için kullanılacak bir Stream nesnesi için zaman uyumsuz bir istek başlatır.

BeginGetResponse(AsyncCallback, Object)

İnternet kaynağına zaman uyumsuz bir istek başlatır.

CreateObjRef(Type)

Uzak bir nesneyle iletişim kurmak için kullanılan bir ara sunucu oluşturmak için gereken tüm ilgili bilgileri içeren bir nesne oluşturur.

(Devralındığı yer: MarshalByRefObject)
EndGetRequestStream(IAsyncResult)

Veri yazmak için kullanılacak bir Stream nesnesi için zaman uyumsuz isteği sonlandırır.

EndGetRequestStream(IAsyncResult, TransportContext)

Veri yazmak için kullanılacak bir Stream nesnesine yönelik zaman uyumsuz isteği sonlandırır ve akışla ilişkili TransportContext çıkışını alır.

EndGetResponse(IAsyncResult)

İnternet kaynağına yönelik zaman uyumsuz bir isteği sonlandırır.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

WebRequest örneği için bir karma değeri döndürür.

GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetLifetimeService()
Geçersiz.

Bu örnek için yaşam süresi ilkesini denetleen geçerli yaşam süresi hizmet nesnesini alır.

(Devralındığı yer: MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext)
Geçersiz.
Geçersiz.
Geçersiz.

Bir SerializationInfo hedef nesneyi seri hale getirmek için gereken verilerle doldurur.

GetObjectData(SerializationInfo, StreamingContext)
Geçersiz.

Bir SerializationInfo hedef nesneyi seri hale getirmek için gereken verilerle doldurur.

(Devralındığı yer: WebRequest)
GetRequestStream()

İstek verilerini yazmak için kullanılacak bir Stream nesnesi alır.

GetRequestStream()

Alt sınıfta geçersiz kılındığında, İnternet kaynağına veri yazmak için bir Stream döndürür.

(Devralındığı yer: WebRequest)
GetRequestStream(TransportContext)

İstek verilerini yazmak için kullanılacak bir Stream nesnesi alır ve akışla ilişkili TransportContext çıkışını alır.

GetRequestStreamAsync()

Alt sınıfta geçersiz kılındığında, İnternet kaynağına zaman uyumsuz bir işlem olarak veri yazmak için bir Stream döndürür.

(Devralındığı yer: WebRequest)
GetResponse()

İnternet kaynağından bir yanıt döndürür.

GetResponse()

Alt sınıfta geçersiz kılındığında, İnternet isteğine bir yanıt döndürür.

(Devralındığı yer: WebRequest)
GetResponseAsync()

Alt sınıfta geçersiz kılındığında, zaman uyumsuz bir işlem olarak İnternet isteğine bir yanıt döndürür.

(Devralındığı yer: WebRequest)
GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
InitializeLifetimeService()
Geçersiz.

Bu örneğin yaşam süresi ilkesini denetlemek için bir yaşam süresi hizmet nesnesi alır.

(Devralındığı yer: MarshalByRefObject)
MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
MemberwiseClone(Boolean)

Geçerli MarshalByRefObject nesnesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: MarshalByRefObject)
ToString()

Geçerli nesneyi temsil eden bir dize döndürür.

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

ISerializable.GetObjectData(SerializationInfo, StreamingContext)
Geçersiz.
Geçersiz.
Geçersiz.

Bir SerializationInfo hedef nesneyi seri hale getirmek için gereken verilerle doldurur.

Uzantı Metotları

GetRequestMetadata(HttpWebRequest)

Telemetri amacıyla kullanılacak giden isteklerin meta verilerini alır.

SetRequestMetadata(HttpWebRequest, RequestMetadata)

Telemetri amacıyla kullanılacak giden isteklerin meta verilerini ayarlar.

Şunlara uygulanır

Ayrıca bkz.