System.Net.Http 命名空間

提供現代 HTTP 應用程式的程式設計介面。

類別

ByteArrayContent

提供以位元組陣列為基礎的 HTTP 內容。

CFNetworkHandler
DelegatingHandler

HTTP 處理常式的類型,這些處理常式會將 HTTP 回應訊息的處理委派給另一個處理常式,也稱為內部處理常式。

FormUrlEncodedContent

使用 application/x-www-form-urlencoded MIME 類型編碼之名稱/值 Tuple 的容器。

HttpClient

提供類別,用於從 URI 所識別的資源傳送 HTTP 要求和接收 HTTP 回應。

HttpClientFactoryExtensions

IHttpClientFactory 的擴充方法。

HttpClientHandler

.NET Framework 和 .NET Core 2.0 及更舊版本中 HttpClient 使用的預設訊息處理常式。

HttpContent

代表 HTTP 實體內容和內容標頭的基底類別。

HttpMessageHandler

HTTP 訊息處理常式的基底類型。

HttpMessageHandlerFactoryExtensions

IHttpMessageHandlerFactory 的擴充方法。

HttpMessageInvoker

特定類別,允許應用程式呼叫 HTTP 處理常式鏈結的 SendAsync(HttpRequestMessage, CancellationToken) 方法。

HttpMethod

協助程式類別,用於擷取和比較標準 HTTP 方法,以及建立新的 HTTP 方法。

HttpProtocolException

The exception thrown when an HTTP/2 or an HTTP/3 protocol error occurs.

HttpRequestException

HttpClientHttpMessageHandler 類別所擲回之例外狀況的基底類別。

HttpRequestMessage

代表 HTTP 要求訊息。

HttpRequestOptions

表示 HTTP 要求的選項組合。

HttpResponseMessage

表示包含狀態碼及資料的 HTTP 回應訊息。

MessageProcessingHandler

處理常式的基底類型,這些處理常式僅對要求和 (或) 回應訊息執行一些小型處理。

MultipartContent

提供使用 multipart/* 內容類型規格進行序列化之 HttpContent 物件的集合。

MultipartFormDataContent

提供使用 multipart/form-data MIME 類型編碼內容的容器。

NSUrlSessionHandler

在使用 Xamarin stack (iOS、macOS、watchOS、tvOS) 的 Apple 平台上,由  HttpClient  使用的預設訊息處理常式

ReadOnlyMemoryContent

ReadOnlyMemory<T> 為基礎提供 HTTP 內容。

RtcRequestFactory
SocketsHttpConnectionContext

代表傳遞給 SocketsHttpHandler 執行個體之 ConnectCallback 的內容。 .

SocketsHttpHandler

提供 .NET Core 2.1 及更新版本中 HttpClient 使用的預設訊息處理常式。

SocketsHttpPlaintextStreamFilterContext

代表傳遞給 SocketsHttpHandler 執行個體之 PlaintextStreamFilter 的內容。

StreamContent

根據資料流提供 HTTP 內容。

StringContent

根據字串提供 HTTP 內容。

WebRequestHandler

提供 Windows 市集應用程式或其他環境中所沒有的桌面特定功能。

WinHttpHandler

依據 Windows 的 WinHTTP 介面處理訊息。 此類別為伺服器環境而設計。

結構

HttpRequestOptionsKey<TValue>

表示 HTTP 要求之 options 集合中的索引鍵。

介面

IHttpClientFactory

元件的 Factory 抽象概念,可以使用指定邏輯名稱的自訂組態來建立 HttpClient 執行個體。

IHttpMessageHandlerFactory

元件的 Factory 抽象概念,可以使用指定邏輯名稱的自訂組態來建立 HttpMessageHandler 執行個體。

列舉

ClientCertificateOption

指定如何提供用戶端憑證。

CookieUsePolicy

這個列舉可讓您在與伺服器通訊時控制 HTTP Cookie。

HttpCompletionOption

表示 HttpClient 作業應該在取得回應之後立即視為已完成,或在讀取整個回應訊息 (包括內容) 之後視為已完成。

HttpKeepAlivePingPolicy

指定透過閒置的連線傳送 HTTP/2 ping 框架的時機。

HttpVersionPolicy

針對選取及協調要求的 HTTP 版本指定行為。

WindowsProxyUsePolicy

此列舉會提供在 Windows 上執行時,HttpClient 用於 Proxy 設定的可用選項。

委派

HeaderEncodingSelector<TContext>

代表會指定使用哪一種編碼來解譯標題值的方法。

備註

System.Net.Http命名空間的設計目的是要提供下列各項:

  1. HTTP 用戶端元件,可讓使用者透過 HTTP 使用新式 web 服務。

  2. 用戶端和伺服器都可使用的 HTTP 元件 (HTTP 標頭和訊息,例如) 。 這可在用戶端和伺服器端提供一致的程式設計模型,以透過 HTTP 進行新式 web 服務。

System.Net.Http命名空間和相關的 System.Net.Http.Headers 命名空間提供下列一組元件:

  1. HttpClient -用來透過 HTTP 傳送和接收要求的主要類別。

  2. HttpRequestMessageHttpResponseMessage -HTTP 訊息,如同 IETF 在 RFC 2616 中所定義。

  3. HttpHeaders -IETF 在 RFC 2616 中定義的 HTTP 標頭。

  4. HttpClientHandler -負責產生 HTTP 回應訊息的 HTTP 處理常式。

您可以使用各種不同的 HTTP 訊息處理常式。 其中包括下列各項。

  1. DelegatingHandler -用來將處理常式插入處理常式鏈的類別。

  2. HttpMessageHandler -衍生自的簡單類別,可支援大部分應用程式的最常見需求。

  3. HttpClientHandler -在處理常式鏈底部運作的類別,實際上會處理 HTTP 傳輸作業。

  4. WebRequestHandler -在處理常式鏈類別底部運作的特殊類別,此類別會處理 HTTP 傳輸作業與物件特定的選項 System.Net.HttpWebRequest

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

有許多類別可用於 HTTP 內容。 其中包括下列各項。

  1. ByteArrayContent -以位元組陣列為基礎的 HTTP 內容。

  2. FormUrlEncodedContent -使用 application/x-www 表單 urlencoded MIME 類型編碼之名稱/值元組的 HTTP 內容。

  3. MultipartContent -使用多部分/* 內容類型規格進行序列化的 HTTP 內容。

  4. MultipartFormDataContent -使用多部分/表單資料 MIME 類型編碼的 HTTP 內容。

  5. StreamContent -以資料流程為基礎的 HTTP 內容。

  6. StringContent -以字串為基礎的 HTTP 內容。

如果使用 System.Net.Http 和命名空間的應用程式 System.Net.Http.Headers 想要下載大量資料 (50 mb 或以上的) ,則應用程式應該串流這些下載,而不使用預設的緩衝。 如果使用預設緩衝,用戶端記憶體使用量將會變得非常大,可能會大幅降低效能。

System.Net.Http和命名空間中的類別 System.Net.Http.Headers 可以用來開發 Windows Store 應用程式或桌面應用程式。 在 Windows Store 應用程式中使用時, System.Net.Http 和命名空間中的類別 System.Net.Http.Headers 會受到網路隔離功能的影響,也就是 Windows 8 所使用的應用程式安全性模型的一部分。 您必須在適用于系統的 Windows Store 應用程式的應用程式資訊清單中啟用適當的網路功能,才能讓 Windows store 應用程式進行網路存取。 如需詳細資訊,請參閱 Windows 市集應用程式的網路隔離

另請參閱