提供 WebRequest 類的 HTTP 特定的實現。 html
命名空間:System.Net ; 程序集: System(在 System.dll 中)正則表達式
HttpWebRequest 類型公開如下成員。express
名稱 | 說明 |
---|---|
HttpWebRequest() | 已過期。初始化 HttpWebRequest 類的新實例。 |
HttpWebRequest(SerializationInfo, StreamingContext) | 已過期。從 SerializationInfo和 StreamingContext 類的指定實例初始化 HttpWebRequest 類的新實例。 |
名稱 | 說明 |
---|---|
Accept | 獲取或設置 Accept HTTP 標頭的值。 |
Address | 獲取實際響應請求的 Internet 資源的統一資源標識符 (URI)。 |
AllowAutoRedirect | 獲取或設置一個值,該值指示請求是否應跟隨重定向響應。 |
AllowReadStreamBuffering | 獲取或設置一個值,該值指示是否對從 Internet 資源接收的數據進行緩衝處理。 |
AllowWriteStreamBuffering | 獲取或設置一個值,該值指示是否對發送到 Internet 資源的數據進行緩衝處理。 |
AuthenticationLevel | 獲取或設置用於此請求的身份驗證和模擬的級別。 (繼承自 WebRequest。) |
AutomaticDecompression | 獲取或設置所使用的解壓縮類型。 |
CachePolicy | 獲取或設置此請求的緩存策略。 (繼承自 WebRequest。) |
ClientCertificates | 獲取或設置與此請求關聯的安全證書集合。 |
Connection | 獲取或設置 Connection HTTP 標頭的值。 |
ConnectionGroupName | 獲取或設置請求的鏈接組的名稱。 (重寫 WebRequest.ConnectionGroupName。) |
ContentLength | 獲取或設置 Content-lengthHTTP 標頭。 (重寫 WebRequest.ContentLength。) |
ContentType | 獲取或設置 Content-type HTTP 標頭的值。 (重寫 WebRequest.ContentType。) |
ContinueDelegate | 獲取或設置當從 Internet 資源接收到 HTTP 100 持續響應時調用的委託方法。 |
ContinueTimeout | 獲取或設置在接收到來自服務器的 100 次連續響應以前要等待的超時(以毫秒爲單位)。 |
CookieContainer | 獲取或設置與此請求關聯的 cookie。 |
CreatorInstance | 已過期。當在子類中重寫時,獲取從 IWebRequestCreate 類派生的工廠對象,該類用於建立爲生成對指定 URI 的請求而實例化的 WebRequest。 (繼承自 WebRequest。) |
Credentials | 獲取或設置請求的身份驗證信息。 (重寫 WebRequest.Credentials。) |
Date | 獲取或設置要在 HTTP 請求中使用的 Date HTTP 標頭值。 |
DefaultCachePolicy | 獲取或設置此請求的默認緩存策略。 |
DefaultMaximumErrorResponseLength | 獲取或設置 HTTP 錯誤響應的默認最大長度。 |
DefaultMaximumResponseHeadersLength | 獲取或設置 MaximumResponseHeadersLength 屬性的默認值。 |
Expect | 獲取或設置 Expect HTTP 標頭的值。 |
HaveResponse | 獲取一個值,該值指示是否收到了來自 Internet 資源的響應。 |
Headers | 指定構成 HTTP 標頭的名稱/值對的集合。 (重寫 WebRequest.Headers。) |
Host | 獲取或設置要在 HTTP 請求中獨立於請求 URI 使用的 Host 標頭值。 |
IfModifiedSince | 獲取或設置 If-Modified-Since HTTP 標頭的值。 |
ImpersonationLevel | 獲取或設置當前請求的模擬級別。 (繼承自 WebRequest。) |
KeepAlive | 獲取或設置一個值,該值指示是否與 Internet 資源創建持久性鏈接。 |
MaximumAutomaticRedirections | 獲取或設置請求將跟隨的重定向的最大數目。 |
MaximumResponseHeadersLength | 獲取或設置響應標題容許的最大長度。 |
MediaType | 獲取或設置請求的媒體類型。 |
Method | 獲取或設置請求的方法。 (重寫 WebRequest.Method。) |
Pipelined | 獲取或設置一個值,該值指示是否經過管線將請求傳輸到 Internet 資源。 |
PreAuthenticate | 獲取或設置一個值,該值指示是否隨請求發送一個身份驗證標頭。 (重寫 WebRequest.PreAuthenticate。) |
ProtocolVersion | 獲取或設置用於請求的 HTTP 版本。 |
Proxy | 獲取或設置請求的代理信息。 (重寫 WebRequest.Proxy。) |
ReadWriteTimeout | 獲取或設置寫入或讀取流時的超時(以毫秒爲單位)。 |
Referer | 獲取或設置 Referer HTTP 標頭的值。 |
RequestUri | 獲取請求的原始統一資源標識符 (URI)。 (重寫 WebRequest.RequestUri。) |
SendChunked | 獲取或設置一個值,該值指示是否將數據分段發送到 Internet 資源。 |
ServerCertificateValidationCallback | 獲取或設置用於驗證服務器證書的回調函數。 |
ServicePoint | 獲取用於請求的服務點。 |
SupportsCookieContainer | 獲取一個值,該值指示請求是否爲 CookieContainer 提供支持。 |
Timeout | 獲取或設置 GetResponse 和 GetRequestStream 方法的超時值(以毫秒爲單位)。 (重寫 WebRequest.Timeout。) |
TransferEncoding | 獲取或設置 Transfer-encoding HTTP 標頭的值。 |
UnsafeAuthenticatedConnectionSharing | 獲取或設置一個值,該值指示是否容許通過高速 NTLM 身份驗證的鏈接共享。 |
UseDefaultCredentials | 獲取或設置一個 Boolean 值,該值控制默認憑據是否隨請求一塊兒發送。 (重寫 WebRequest.UseDefaultCredentials。) |
UserAgent | 獲取或設置 User-agent HTTP 標頭的值。 |
名稱 | 說明 |
---|---|
Abort | 取消對 Internet 資源的請求。 (重寫 WebRequest.Abort()。) |
AddRange(Int32) | 向請求添加從請求數據的開始處或結束處的特定範圍的字節範圍標頭。 |
AddRange(Int64) | 向請求添加從請求數據的開始處或結束處的特定範圍的字節範圍標頭。 |
AddRange(Int32, Int32) | 向請求添加指定範圍的字節範圍標頭。 |
AddRange(Int64, Int64) | 向請求添加指定範圍的字節範圍標頭。 |
AddRange(String, Int32) | 向請求添加從請求數據的開始處或結束處計算的特定範圍的 Range 標頭。 |
AddRange(String, Int64) | 向請求添加從請求數據的開始處或結束處計算的特定範圍的 Range 標頭。 |
AddRange(String, Int32, Int32) | 向請求添加指定範圍的範圍標頭。 |
AddRange(String, Int64, Int64) | 向請求添加指定範圍的範圍標頭。 |
BeginGetRequestStream | 開始對用來寫入數據的 Stream 對象的異步請求。 (重寫 WebRequest.BeginGetRequestStream(AsyncCallback, Object)。) |
BeginGetResponse | 開始對 Internet 資源的異步請求。 (重寫 WebRequest.BeginGetResponse(AsyncCallback, Object)。) |
CreateObjRef | 建立一個對象,該對象包含生成用於與遠程對象進行通訊的代理所需的所有相關信息。 (繼承自 MarshalByRefObject。) |
EndGetRequestStream(IAsyncResult) | 結束對用於寫入數據的 Stream 對象的異步請求。 (重寫 WebRequest.EndGetRequestStream(IAsyncResult)。) |
EndGetRequestStream(IAsyncResult,TransportContext) | 結束對用於寫入數據的 Stream 對象的異步請求,並輸出與該流關聯的 TransportContext。 |
EndGetResponse | 結束對 Internet 資源的異步請求。 (重寫 WebRequest.EndGetResponse(IAsyncResult)。) |
Equals(Object) | 肯定指定的對象是否等於當前對象。 (繼承自 Object。) |
Finalize | 容許對象在「垃圾回收」回收以前嘗試釋放資源並執行其餘清理操做。 (繼承自 Object。) |
GetHashCode | 做爲默認哈希函數。 (繼承自 Object。) |
GetLifetimeService | 檢索控制此實例的生存期策略的當前生存期服務對象。 (繼承自 MarshalByRefObject。) |
GetObjectData | 基礎結構。使用序列化目標對象所需的數據填充 SerializationInfo。 (重寫 WebRequest.GetObjectData(SerializationInfo, StreamingContext)。) |
GetRequestStream() | 獲取用於寫入請求數據的 Stream 對象。 (重寫 WebRequest.GetRequestStream()。) |
GetRequestStream(TransportContext) | 獲取用於寫入請求數據的 Stream 對象,並輸出與該流關聯的 TransportContext。 |
GetRequestStreamAsync | 當在子類中被重寫時,將用於寫入數據的 Stream 做爲異步操做返回到 Internet 資源。 (繼承自 WebRequest。) |
GetResponse | 返回來自 Internet 資源的響應。 (重寫 WebRequest.GetResponse()。) |
GetResponseAsync | 當在子類中被重寫時,將做爲異步操做返回對 Internet 請求的響應。 (繼承自 WebRequest。) |
GetType | 獲取當前實例的 Type。 (繼承自 Object。) |
InitializeLifetimeService | 獲取控制此實例的生存期策略的生存期服務對象。 (繼承自 MarshalByRefObject。) |
MemberwiseClone() | 建立當前 Object 的淺表副本。 (繼承自 Object。) |
MemberwiseClone(Boolean) | 建立當前 MarshalByRefObject 對象的淺表副本。 (繼承自 MarshalByRefObject。) |
ToString | 返回表示當前對象的字符串。 (繼承自 Object。) |
名稱 | 說明 |
---|---|
ISerializable.GetObjectData | 基礎結構。使用將目標對象序列化所需的數據填充 SerializationInfo。 |
不要使用 HttpWebRequest 構造函數。 使用 WebRequest.Create 方法初始化新的 HttpWebRequest 對象。 若是統一資源標識符 (URI) 的方案是 http:// 或 https://,則 Create 返回 HttpWebRequest 對象。 緩存
GetResponse 方法向 RequestUri 屬性中指定的資源發出同步請求並返回包含該響應的 HttpWebResponse。 能夠使用 BeginGetResponse 和 EndGetResponse 方法對資源發出異步請求。 安全
當要向資源發送數據時,GetRequestStream 方法返回用於發送數據的 Stream 對象。 BeginGetRequestStream 和 EndGetRequestStream 方法提供對發送數據流的異步訪問。 服務器
對於使用 HttpWebRequest 的客戶端驗證身份,客戶端證書必須安裝在當前用戶的「個人證書」存儲區中。cookie
若是在訪問資源時發生錯誤,則 HttpWebRequest 類將引起 WebException。 WebException.Status 屬性包含指示錯誤源的 WebExceptionStatus 值。 當 WebException.Status 爲 WebExceptionStatus.ProtocolError 時,Response 屬性包含從資源接收的 HttpWebResponse。 session
HttpWebRequest 將發送到 Internet 資源的公共 HTTP 標頭值公開爲屬性,由方法或系統設置;下表包含完整列表。 能夠將 Headers 屬性中的其餘標頭設置爲名稱/值對。 注意,服務器和緩存在請求期間可能會更改或添加標頭。 app
下表列出了由屬性或方法設置或由系統設置的 HTTP 標頭。框架
Header |
設置方 |
---|---|
Accept |
由 Accept 屬性設置。 |
Connection |
由 Connection 屬性和 KeepAlive 屬性設置。 |
Content-Length |
由 ContentLength 屬性設置。 |
Content-Type |
由 ContentType 屬性設置。 |
Expect |
由 Expect 屬性設置。 |
日期 |
由系統設置爲當前日期。 |
主機 |
由系統設置爲當前主機信息。 |
If-Modified-Since |
由 IfModifiedSince 屬性設置。 |
範圍 |
由 AddRange 方法設置。 |
Referer |
由 Referer 屬性設置。 |
Transfer-Encoding |
由 TransferEncoding 屬性設置(SendChunked 屬性必須爲 true)。 |
User-Agent |
由 UserAgent 屬性設置。 |
說明 |
---|
HttpWebRequest 自動註冊。 使用以 http:// 或 https:// 開頭的 URI 以前,不須要調用 RegisterPrefix 方法來註冊 System.Net.HttpWebRequest。 |
本地計算機或應用程序配置文件可能指定使用默認代理。 若是指定了 Proxy 屬性,則 Proxy 屬性中的代理設置會重寫本地計算機或應用程序配置文件,而且 HttpWebRequest 實例將實用指定的代理設置。 若是配置文件中未指定代理而且未指定 Proxy 屬性,則 HttpWebRequest 類使用從本地計算機上的 Internet Explorer 中繼承的代理設置。 若是 Internet Explorer 中沒有代理設置,請求會直接發送到服務器。
HttpWebRequest 類分析從 Internet Explorer 繼承的且包含通配符的代理忽略列表時會與 Internet Explorer 直接分析忽略列表不一樣。 例如,HttpWebRequest 類未來自 Internet Explorer 的其中包含「nt*」的忽略列表分析爲正則表達式「nt.$」。 此行爲不一樣於 Internet Explorer 的本機行爲。 所以 URL「http://intxxxxx」將忽略使用 HttpWebRequest 類的代理,但它不會忽略使用 Internet Explorer 的代理。
說明 |
---|
Framework 在建立 SSL 會話時緩存這些會話,若是可能,還嘗試對新請求重用緩存的會話。 嘗試重用 SSL 會話時,該框架將使用 ClientCertificates 的第一個元素(若是有);若是 ClientCertificates 爲空,則將嘗試重用匿名會話。 |
說明 |
---|
爲安全起見,默認狀況下禁用 Cookie。 若是您但願使用 Cookie,請使用 CookieContainer 屬性啓用 Cookie。 |
HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create("http://www.contoso.com/");