提供
WebRequest 類別的 HTTP 特定實作。
命名空間: System.Net
組件: System (在 system.dll 中)
<SerializableAttribute> _
Public Class HttpWebRequest
Inherits WebRequest
Implements ISerializable
Dim instance As HttpWebRequest
[SerializableAttribute]
public class HttpWebRequest : WebRequest, ISerializable
[SerializableAttribute]
public ref class HttpWebRequest : public 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。您可以使用 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 為空白,則會嘗試重複使用匿名工作階段。 |
下列程式碼範例會建立 URI http://www.contoso.com/. 的 HttpWebRequest。
Dim myReq As HttpWebRequest = _
WebRequest.Create("http://www.contoso.com/")
HttpWebRequest myReq =
(HttpWebRequest)WebRequest.Create("http://www.contoso.com/");
HttpWebRequest^ myReq = dynamic_cast<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/"))
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