HttpWebRequest 類別提供支援在 WebRequest 中定義的屬性和方法,以及讓使用者直接與使用 HTTP 的伺服器互動的其他屬性和方法。
不要使用 HttpWebRequest 建構函式。使用 System.Net.WebRequest.Create 方法,初始化新的 HttpWebRequest 物件。如果統一資源識別元 (URI) 的配置是 http:// 或 https://,則 Create 會傳回 HttpWebRequest 物件。
GetResponse 方法會對 RequestUri 屬性中所指定的資源提出同步要求,並且傳回包含回應的 HttpWebResponse。您可以使用 BeginGetResponse 和 EndGetResponse 方法,對資源提出非同步要求。
當您想要傳送資料至資源時,GetRequestStream 方法會傳回 Stream 物件,用來傳送資料。BeginGetRequestStream 和 EndGetRequestStream 方法提供非同步的 (Asynchronous) 存取傳送資料流。
對使用 HttpWebRequest 來進行用戶端驗證的情況而言,必須將用戶端憑證安裝於目前使用者的 My certificate 存放區中。
當存取資源發生錯誤時,HttpWebRequest 類別會擲回 WebException。WebException.Status 屬性包含 WebExceptionStatus 值,指出錯誤來源。當 WebException.Status 為 WebExceptionStatus.ProtocolError 時,Response 屬性會包含從資源所接收的 HttpWebResponse。
HttpWebRequest 會公開通用 HTTP 標頭值,這些值是傳送至網際網路資源做為屬性、由方法設定或由系統設定;下表內含完整的清單。您可以使用名稱/值組在 Headers 屬性中設定其他標頭。請注意,在要求期間,伺服器和快取可能變更或加入標頭。
下表列出由屬性或方法、或由系統設定的 HTTP 標頭。
注意事項 |
|---|
|
會自動登錄 HttpWebRequest。在使用以 http:// 或 https:// 為開頭的 URI 之前,您不需要呼叫 RegisterPrefix 方法來登錄 System.Net.HttpWebRequest。 |
如果本機電腦組態指定應使用 Proxy,或要求指定 Proxy,則會使用 Proxy 傳送要求。如果未指定 Proxy,則要求會傳送至伺服器。
注意事項 |
|---|
| Framework 會在建立 SSL 工作階段時快取工作階段,並嘗試對新要求重複使用已經快取的工作階段 (如果可能的話)。嘗試重複使用 SSL 工作階段時,Framework 會使用 ClientCertificates 的第一個項目 (如果有的話);如果 ClientCertificates 為空白,則會嘗試重複使用匿名工作階段。 |