共用方式為


System.Net.Http 命名空間

提供現代 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

定義錯誤類別,代表 HttpRequestExceptionHttpIOException的原因。

HttpVersionPolicy

指定選取和交涉要求之 HTTP 版本的行為。

WindowsProxyUsePolicy

此列舉提供在 Windows 上執行時 HttpClient 所使用之 Proxy 設定的可用選項。

委派

名稱 Description
HeaderEncodingSelector<TContext>

代表一種方法,指定解讀標頭值時應使用的編碼方式。

備註

System.Net.Http命名空間設計以提供以下元件:

  • HTTP 用戶端元件,允許使用者透過 HTTP 使用現代網路服務。
  • 這些 HTTP 元件可同時被用戶端與伺服器使用(例如 HTTP 標頭與訊息)。 這在客戶端與伺服器端都為現代 HTTP 網路服務提供一致的程式設計模型。

System.Net.Http命名空間及其相關的System.Net.Http.Headers命名空間提供以下組件集合:

你可以使用各種 HTTP 訊息處理程式:

  • DelegatingHandler - 一個用來將處理器插入處理器鏈的類別。
  • HttpMessageHandler - 一個簡單的類,可從中推導,支援大多數應用中最常見的需求。
  • HttpClientHandler - 一個在處理程序鏈底部操作的類別,實際處理 HTTP 傳輸操作。

HTTP 訊息的內容對應於 RFC 2616 中定義的實體實體。

以下類別可用於 HTTP 內容:

如果你的應用程式使用 System.Net.Http and System.Net.Http.Headers 命名空間,並打算下載大量資料(50 MB 以上),那麼它應該會串流這些下載,而不是使用預設的緩衝區。 如果您使用默認緩衝處理,則用戶端記憶體使用量會變得非常大,可能會導致大幅降低效能。

另請參閱