本文件已封存並已停止維護。

HttpWebRequest 類別

提供 WebRequest 類別的 HTTP 特定實作。

命名空間: System.Net
組件: System (在 system.dll 中)

[SerializableAttribute] 
public class HttpWebRequest : WebRequest, ISerializable
/** @attribute SerializableAttribute() */ 
public class HttpWebRequest extends WebRequest implements ISerializable
SerializableAttribute 
public class HttpWebRequest extends WebRequest implements ISerializable

HttpWebRequest 類別提供支援在 WebRequest 中定義的屬性和方法,以及讓使用者直接與使用 HTTP 的伺服器互動的其他屬性和方法。

不要使用 HttpWebRequest 建構函式。使用 System.Net.WebRequest.Create 方法,初始化新的 HttpWebRequest 物件。如果統一資源識別元 (URI) 的配置是 http://https://,則 Create 會傳回 HttpWebRequest 物件。

GetResponse 方法會對 RequestUri 屬性中所指定的資源提出同步要求,並且傳回包含回應的 HttpWebResponse。您可以使用 BeginGetResponseEndGetResponse 方法,對資源提出非同步要求。

當您想要傳送資料至資源時,GetRequestStream 方法會傳回 Stream 物件,用來傳送資料。BeginGetRequestStreamEndGetRequestStream 方法提供非同步的 (Asynchronous) 存取傳送資料流。

對使用 HttpWebRequest 來進行用戶端驗證的情況而言,必須將用戶端憑證安裝於目前使用者的 My certificate 存放區中。

當存取資源發生錯誤時,HttpWebRequest 類別會擲回 WebExceptionWebException.Status 屬性包含 WebExceptionStatus 值,指出錯誤來源。當 WebException.StatusWebExceptionStatus.ProtocolError 時,Response 屬性會包含從資源所接收的 HttpWebResponse

HttpWebRequest 會公開通用 HTTP 標頭值,這些值是傳送至網際網路資源做為屬性、由方法設定或由系統設定;下表內含完整的清單。您可以使用名稱/值組在 Headers 屬性中設定其他標頭。請注意,在要求期間,伺服器和快取可能變更或加入標頭。

下表列出由屬性或方法、或由系統設定的 HTTP 標頭。

標頭

設定所用的項目

Accept

Accept 屬性設定。

Connection

Connection 屬性、KeepAlive 屬性設定。

Content-Length

ContentLength 屬性設定。

Content-Type

ContentType 屬性設定。

Expect

Expect 屬性設定。

Date

由系統設定為目前的日期。

Host

由系統設定為目前的主機資訊。

If-Modified-Since

IfModifiedSince 屬性設定。

Range

AddRange 方法設定。

Referer

Referer 屬性設定。

Transfer-Encoding

TransferEncoding 屬性設定 (SendChunked 屬性必須為 true)。

User-Agent

UserAgent 屬性設定。

Note注意事項

會自動登錄 HttpWebRequest。在使用以 http://https:// 為開頭的 URI 之前,您不需要呼叫 RegisterPrefix 方法來登錄 System.Net.HttpWebRequest

如果本機電腦組態指定應使用 Proxy,或要求指定 Proxy,則會使用 Proxy 傳送要求。如果未指定 Proxy,則要求會傳送至伺服器。

Note注意事項

Framework 會在建立 SSL 工作階段時快取工作階段,並嘗試對新要求重複使用已經快取的工作階段 (如果可能的話)。嘗試重複使用 SSL 工作階段時,Framework 會使用 ClientCertificates 的第一個項目 (如果有的話);如果 ClientCertificates 為空白,則會嘗試重複使用匿名工作階段。

Note注意事項

基於安全理由,預設會停用 Cookie。如果您想要使用 Cookie,請使用 CookieContainer 屬性啟用 Cookie。

下列程式碼範例會建立 URI http://www.contoso.com/. 的 HttpWebRequest


HttpWebRequest myReq =
(HttpWebRequest)WebRequest.Create("http://www.contoso.com/");


HttpWebRequest myReq =
    ((HttpWebRequest)(WebRequest.Create("http://www.contoso.com/")));


var myReq : HttpWebRequest = HttpWebRequest(WebRequest.Create("http://www.contoso.com/"))


  • WebPermission  - 用於存取所要求的 URI,或是所有重新導向要求的 URI。關聯的列舉型別:Connect

System.Object
   System.MarshalByRefObject
     System.Net.WebRequest
      System.Net.HttpWebRequest

這個型別的所有公用靜態成員 (即 Visual Basic 中的 Shared 成員) 都是安全執行緒。並非所有的執行個體成員均為安全執行緒。

Windows 98、 Windows 2000 SP4、 Windows CE、 Windows Millennium Edition、 Windows Mobile for Pocket PC、 Windows Mobile for Smartphone、 Windows Server 2003、 Windows XP Media Center Edition、 Windows XP Professional x64 Edition、 Windows XP SP2、 Windows XP Starter Edition

.NET Framework 並不支援各種平台的所有版本。如需支援平台版本的相關資訊,請參閱系統需求一節的內容。

.NET Framework

支援版本:2.0、1.1、1.0

.NET Compact Framework

支援版本:2.0、1.0
顯示: