System.Net.Http 命名空間
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供現代 HTTP 應用程式的程式設計介面。
類別
ByteArrayContent |
提供以位元組陣列為基礎的 HTTP 內容。 |
DelegatingHandler |
HTTP 處理常式的類型,這些處理常式會將 HTTP 回應訊息的處理委派給另一個處理常式,也稱為內部處理常式。 |
FormUrlEncodedContent |
使用 application/x-www-form-urlencoded MIME 類型編碼之名稱/值 Tuple 的容器。 |
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 |
HttpClient 及 HttpMessageHandler 類別所擲回之例外狀況的基底類別。 |
HttpRequestMessage |
代表 HTTP 要求訊息。 |
HttpRequestOptions |
表示 HTTP 要求的選項集合。 |
HttpResilienceHttpRequestMessageExtensions |
的 HttpRequestMessage復原延伸模組。 |
HttpResponseMessage |
表示包含狀態碼及資料的 HTTP 回應訊息。 |
MessageProcessingHandler |
處理常式的基底類型,這些處理常式僅對要求和 (或) 回應訊息執行一些小型處理。 |
MultipartContent |
提供使用 multipart/* 內容類型規格進行序列化之 HttpContent 物件的集合。 |
MultipartFormDataContent |
提供使用 multipart/form-data MIME 類型編碼內容的容器。 |
ReadOnlyMemoryContent |
以 ReadOnlyMemory<T> 為基礎提供 HTTP 內容。 |
RtcRequestFactory |
提供現代 HTTP 應用程式的程式設計介面。 |
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 框架的時機。 |
HttpRequestError |
定義錯誤類別,代表 或 HttpIOException的原因HttpRequestException。 |
HttpVersionPolicy |
針對選取及協調要求的 HTTP 版本指定行為。 |
WindowsProxyUsePolicy |
此列舉會提供在 Windows 上執行時,HttpClient 用於 Proxy 設定的可用選項。 |
委派
HeaderEncodingSelector<TContext> |
代表會指定使用哪一種編碼來解譯標題值的方法。 |
備註
命名空間 System.Net.Http 的設計目的是要提供下列專案:
可讓使用者透過 HTTP 取用新式 Web 服務的 HTTP 用戶端元件。
用戶端和伺服器可以使用的 HTTP 元件 (HTTP 標頭和訊息,例如) 。 這可在用戶端和伺服器端上針對透過 HTTP 的新式 Web 服務提供一致的程式設計模型。
命名空間 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 傳輸作業之處理程式鏈結底部運作的類別。
WebRequestHandler - 在處理程式鏈結類別底部操作的特殊類別,其會使用物件特有的 System.Net.HttpWebRequest 選項來處理 HTTP 傳輸作業。
HTTP 訊息的內容會對應至 RFC 2616 中定義的實體本文。
許多類別可用於 HTTP 內容。 這些包括下列各項。
ByteArrayContent - 以位元組陣組為基礎的 HTTP 內容。
FormUrlEncodedContent - 使用 application/x-www-form-urlencoded MIME 類型編碼的名稱/值 Tuple HTTP 內容。
MultipartContent - 使用 multipart/* 內容類型規格串行化的 HTTP 內容。
MultipartFormDataContent - 使用 multipart/form-data MIME 類型編碼的 HTTP 內容。
StreamContent - 根據數據流的 HTTP 內容。
StringContent - 以字串為基礎的 HTTP 內容。
如果使用 和 System.Net.Http.Headers 命名空間的應用程式System.Net.Http想要下載大量數據, (50 MB 以上的) ,則應用程式應該串流這些下載,而不使用預設緩衝。 如果使用默認緩衝,用戶端記憶體使用量將會變得非常大,可能會導致大幅降低效能。
和 System.Net.Http.Headers 命名空間中的System.Net.Http類別可用來開發 Windows 市集應用程式或傳統型應用程式。 在 Windows 市集應用程式中使用時,和 System.Net.Http.Headers 命名空間中的System.Net.Http類別會受到網路隔離功能的影響,這是 Windows 8 所使用的應用程式安全性模型的一部分。 您必須在 Windows 市集應用程式的應用程式指令清單中啟用適當的網路功能,系統才能允許 Windows 市集應用程式進行網路存取。 如需詳細資訊,請參閱 Windows 市集應用程式的網路隔離。