System.Net.Http 命名空間
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供現代 HTTP 應用的程式介面。
類別
| 名稱 | Description |
|---|---|
| ByteArrayContent |
提供基於位元組陣列的 HTTP 內容。 |
| DelegatingHandler |
一種用於 HTTP 處理器的類型,將 HTTP 回應訊息的處理委派給另一個處理器,稱為內部處理器。 |
| FormUrlEncodedContent |
一個用 application/x-www-form-urlencoded MIME 類型編碼的名稱/值元組容器。 |
| HttpClient |
提供一個類別,用於發送 HTTP 請求及接收由 URI 識別的資源的 HTTP 回應。 |
| HttpClientFactoryExtensions |
擴展 IHttpClientFactory方法 。 |
| HttpClientHandler |
這是 .NET Framework 及 .NET Core 2.0 及更早版本所使用的 HttpClient 預設訊息處理程式。 |
| HttpContent |
表示 HTTP 實體主體和內容標頭的基類。 |
| HttpDiagnosticsHttpRequestMessageExtensions |
遙測公用程式延伸模組。 |
| HttpIOException |
當讀取回應時發生錯誤時拋出的例外。 |
| HttpMessageHandler |
HTTP 訊息處理程式的基底類型。 |
| HttpMessageHandlerFactoryExtensions |
擴展 IHttpMessageHandlerFactory方法 。 |
| HttpMessageInvoker |
一個專門類別,允許應用程式在 HTTP 處理鏈上呼叫該 SendAsync(HttpRequestMessage, CancellationToken) 方法。 |
| HttpMethod |
一個用於檢索與比較標準 HTTP 方法,以及建立新 HTTP 方法的輔助類別。 |
| HttpProtocolException |
當發生 HTTP/2 或 HTTP/3 協定錯誤時,會拋出例外。 |
| HttpRequestException |
一個基底類別,用於 和 HttpMessageHandler 類別拋出的HttpClient例外。 |
| HttpRequestMessage |
表示 HTTP 要求訊息。 |
| HttpRequestOptions |
表示 HTTP 要求的選項集合。 |
| HttpResilienceHttpRequestMessageExtensions |
韌性擴展 。HttpRequestMessage |
| HttpResponseMessage |
表示 HTTP 回應消息,包括狀態代碼和數據。 |
| MessageProcessingHandler |
這是用於處理程序的基底型態,處理者通常只處理一些請求和/或回應訊息。 |
| MultipartContent |
提供一組 HttpContent 物件,並可依 multipart/* 內容類型規範序列化。 |
| MultipartFormDataContent |
提供一個容器,存放使用 multipart/form-data MIME 類型的內容。 |
| ReadOnlyMemoryContent |
提供基於 ReadOnlyMemory<T>. 的 HTTP 內容。 |
| RtcRequestFactory |
提供現代 HTTP 應用的程式介面。 |
| SocketsHttpConnectionContext |
代表傳遞給 的ConnectCallbackSocketsHttpHandler上下文。 。 |
| SocketsHttpHandler |
提供 .NET Core 2.1 及以後版本所使用的 HttpClient 預設訊息處理程式。 |
| SocketsHttpPlaintextStreamFilterContext |
代表傳給 PlaintextStreamFilter 的 SocketsHttpHandler 實例的上下文。 |
| StreamContent |
提供基於串流的 HTTP 內容。 |
| StringContent |
提供基於字串的 HTTP 內容。 |
| WebRequestHandler |
提供 Windows Store 應用程式或其他環境無法提供的桌面專屬功能。 |
| WinHttpHandler |
基於 Windows 的 WinHTTP 介面處理訊息。 此類別設計用於伺服器環境。 |
結構
| 名稱 | 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 |
此列舉提供在 Windows 上執行時 HttpClient 所使用之 Proxy 設定的可用選項。 |
委派
| 名稱 | 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 以上),那麼它應該會串流這些下載,而不是使用預設的緩衝區。 如果您使用默認緩衝處理,則用戶端記憶體使用量會變得非常大,可能會導致大幅降低效能。