System.Net.Http 命名空間
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供現代 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 |
HttpClient 及 HttpMessageHandler 類別所擲回之例外狀況的基底類別。 |
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命名空間的設計目的是要提供下列各項:
HTTP 用戶端元件,可讓使用者透過 HTTP 使用新式 web 服務。
用戶端和伺服器都可使用的 HTTP 元件 (HTTP 標頭和訊息,例如) 。 這可在用戶端和伺服器端提供一致的程式設計模型,以透過 HTTP 進行新式 web 服務。
System.Net.Http命名空間和相關的 System.Net.Http.Headers 命名空間提供下列一組元件:
HttpClient -用來透過 HTTP 傳送和接收要求的主要類別。
HttpRequestMessage 和 HttpResponseMessage -HTTP 訊息,如同 IETF 在 RFC 2616 中所定義。
HttpHeaders -IETF 在 RFC 2616 中定義的 HTTP 標頭。
HttpClientHandler -負責產生 HTTP 回應訊息的 HTTP 處理常式。
您可以使用各種不同的 HTTP 訊息處理常式。 其中包括下列各項。
DelegatingHandler -用來將處理常式插入處理常式鏈的類別。
HttpMessageHandler -衍生自的簡單類別,可支援大部分應用程式的最常見需求。
HttpClientHandler -在處理常式鏈底部運作的類別,實際上會處理 HTTP 傳輸作業。
WebRequestHandler -在處理常式鏈類別底部運作的特殊類別,此類別會處理 HTTP 傳輸作業與物件特定的選項 System.Net.HttpWebRequest 。
HTTP 訊息的內容與 RFC 2616 中定義的實體主體相對應。
有許多類別可用於 HTTP 內容。 其中包括下列各項。
ByteArrayContent -以位元組陣列為基礎的 HTTP 內容。
FormUrlEncodedContent -使用 application/x-www 表單 urlencoded MIME 類型編碼之名稱/值元組的 HTTP 內容。
MultipartContent -使用多部分/* 內容類型規格進行序列化的 HTTP 內容。
MultipartFormDataContent -使用多部分/表單資料 MIME 類型編碼的 HTTP 內容。
StreamContent -以資料流程為基礎的 HTTP 內容。
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 市集應用程式的網路隔離。