System.Net.Http 命名空間
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供現代 HTTP 應用的程式介面。
類別
結構
| 名稱 | Description |
|---|---|
| HttpRequestOptionsKey<TValue> |
表示 HTTP 要求之 options 集合中的索引鍵。 |
介面
| 名稱 | Description |
|---|---|
| IHttpClientFactory |
一個元件的工廠抽象,能為特定邏輯名稱建立 HttpClient 自訂設定的實例。 |
| IHttpMessageHandlerFactory |
一個元件的工廠抽象,能為特定邏輯名稱建立 HttpMessageHandler 自訂設定的實例。 |
列舉
| 名稱 | Description |
|---|---|
| ClientCertificateOption |
指定如何提供客戶端憑證。 |
| CookieUsePolicy |
此列舉允許在與伺服器通訊時控制 HTTP Cookie。 |
| HttpCompletionOption |
指出 HttpClient 作業是否應在回應可用時或讀取包含內容的整個回應訊息之後,視為已完成。 |
| HttpKeepAlivePingPolicy |
指定在閑置連線上傳送 HTTP/2 Ping 畫面的時間。 |
| HttpRequestError |
定義錯誤類別,代表 HttpRequestException 或 HttpIOException的原因。 |
| HttpVersionPolicy |
指定選取和交涉要求之 HTTP 版本的行為。 |
| WindowsProxyUsePolicy |
此枚舉提供了HttpClient在Windows上運行時所使用的代理設定選項。 |
委派
| 名稱 | Description |
|---|---|
| HeaderEncodingSelector<TContext> |
代表一種方法,指定解讀標頭值時應使用的編碼方式。 |
備註
System.Net.Http命名空間設計以提供以下元件:
- HTTP 用戶端元件,允許使用者透過 HTTP 使用現代網路服務。
- 這些 HTTP 元件可同時被用戶端與伺服器使用(例如 HTTP 標頭與訊息)。 這在客戶端與伺服器端都為現代 HTTP 網路服務提供一致的程式設計模型。
System.Net.Http命名空間及其相關的System.Net.Http.Headers命名空間提供以下組件集合:
- HttpClient - 主要類別,用於透過 HTTP 發送與接收請求。
- HttpRequestMessage 以及 HttpResponseMessage - 依據 IETF 在 RFC 2616 中定義的 HTTP 訊息。
- HttpHeaders - 依據 IETF 在 RFC 2616 中定義的 HTTP 標頭。
- HttpClientHandler - 負責產生 HTTP 回應訊息的 HTTP 處理器。
你可以使用各種 HTTP 訊息處理程式:
- DelegatingHandler - 一個用來將處理器插入處理器鏈的類別。
- HttpMessageHandler - 一個簡單的類,可從中推導,支援大多數應用中最常見的需求。
- HttpClientHandler - 一個在處理程序鏈底部操作的類別,實際處理 HTTP 傳輸操作。
HTTP 訊息的內容對應於 RFC 2616 中定義的實體實體。
以下類別可用於 HTTP 內容:
- ByteArrayContent - 基於位元組陣列的 HTTP 內容。
- FormUrlEncodedContent - 使用 application/x-www-form-urlencoded MIME 類型編碼的名稱/值元組的 HTTP 內容。
- MultipartContent - HTTP 內容,依 multipart/* 內容類型規範序列化。
- MultipartFormDataContent - 使用 multipart/form-data MIME 類型編碼的 HTTP 內容。
- StreamContent - 基於串流的 HTTP 內容。
- StringContent - 基於字串的 HTTP 內容。
如果你的應用程式使用 System.Net.Http and System.Net.Http.Headers 命名空間,並打算下載大量資料(50 MB 以上),那麼它應該會串流這些下載,而不是使用預設的緩衝區。 如果您使用默認緩衝處理,則用戶端記憶體使用量會變得非常大,可能會導致大幅降低效能。