System.Net.HttpWebReponse 類提供 WebResponse 類的特定於HTTP的實現。
例子
下面的示例返回一個從HttpWebRequest 對象返回的 HttpWebResponse對象。
1 HttpWebRequest httpWReq = ebRequest.Create("http://www.baidu.com") as HttpWebRequest; 2 3 HttpWebResponse httpWResp = httpWReq.GetResponse() as HttpWebResponse; 4 if(httpWResp!=null) 5 { 6 // 其他業務邏輯 7 8 httpWResp.Close(); 9 }
備注
此類包含對WebResponse類的屬性和方法的HTTP特定用法的支持。該HttpWebResponse類用於構建發送HTTP請求HTTP獨立的客戶端應用程序和接收HTTP響應。
不要將HttpWebResponse與ASP.NET應用程序中使用的HttpResponse類混淆,后者的方法和屬性通過ASP.NET的內部Response對象公開。
永遠不應該直接創建HttpWebResponse類的實例。而是使用通過調用HttpWebRequest.GetResponse返回的實例。您必須調用Stream.Close或HttpWebResponse.Close方法來關閉響應並釋放連接以便重用。沒有必要同時調用Stream.Close和HttpWebResponse.Close,但這樣做不會導致錯誤。
從 Internet 資源返回的常見標頭信息公開為類的屬性。 請參閱下表有關的完整列表。 可以從讀取其他標頭Headers屬性作為名稱/值對。
下表顯示了可通過屬性的常見 HTTP 標頭HttpWebResponse類。
Header | Property |
---|---|
內容編碼方式 | ContentEncoding |
內容長度 | ContentLength |
內容類型 | ContentType |
最后修改時間 | LastModified |
服務器 | Server |
作為返回來自 Internet 資源的響應的內容Stream通過調用GetResponseStream方法。
CharacterSet | 獲取響應的字符集。 |
ContentEncoding | 獲取用於對響應體進行編碼的方法。 |
ContentLength | 獲取請求返回的內容的長度。 |
ContentType | 獲取響應的內容類型。 |
Cookies | 獲取或設置與此響應關聯的 Cookie。 |
Headers | 獲取來自服務器的與此響應關聯的標頭。 |
IsFromCache | 獲取一個 Boolean 值,該值指示此響應是否為從緩存中獲取的。 (Inherited from WebResponse) |
IsMutuallyAuthenticated | 獲取一個 Boolean 值,該值指示客戶端和服務器是否都已經過身份驗證。 |
LastModified | 獲取最后一次修改響應內容的日期和時間。 |
Method | 獲取用於返回響應的方法。 |
ProtocolVersion | 獲取響應中使用的 HTTP 協議的版本。 |
ResponseUri | 獲取響應請求的 Internet 資源的 URI。 |
Server | 獲取發送響應的服務器的名稱。 |
StatusCode | 獲取響應的狀態。 |
StatusDescription | 獲取與響應一起返回的狀態說明。 |
SupportsHeaders | 獲取指示標頭是否受支持的值。 |
Close() | 關閉響應流。 |
CreateObjRef(Type) | 創建一個對象,該對象包含生成用於與遠程對象進行通信的代理所需的全部相關信息。 (Inherited from MarshalByRefObject) |
Dispose() | 釋放 WebResponse 對象使用的非托管資源。 (Inherited from WebResponse) |
Dispose(Boolean) | 釋放由 HttpWebResponse 使用的非托管資源,並可根據需要釋放托管資源。 |
Equals(Object) | 確定指定的對象是否等於當前對象。 (Inherited from Object) |
GetLifetimeService() | 檢索控制此實例的生存期策略的當前生存期服務對象。 (Inherited from MarshalByRefObject) |
GetObjectData(SerializationInfo, StreamingContext) | 使用將目標對象序列化所需的數據填充 SerializationInfo。 |
GetResponseHeader(String) | 獲取與響應一起返回的標頭的內容。 |
GetResponseStream() | 獲取流,該流用於讀取來自服務器的響應的體。 |
GetType() | 獲取當前實例的 Type。 (Inherited from Object) |
InitializeLifetimeService() | 獲取生存期服務對象來控制此實例的生存期策略。 (Inherited from MarshalByRefObject) |
MemberwiseClone() | 創建當前 Object 的淺表副本。 (Inherited from Object) |
MemberwiseClone(Boolean) | 創建當前 MarshalByRefObject 對象的淺表副本。 (Inherited from MarshalByRefObject) |
ToString() | 返回表示當前對象的字符串。 (Inherited from Object) |