System.Net.Http 命名空間

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

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

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 的設計目的是要提供下列專案:

  1. 可讓使用者透過 HTTP 取用新式 Web 服務的 HTTP 用戶端元件。

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

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

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

  2. HttpRequestMessageHttpResponseMessage - IETF 在 RFC 2616 中定義的 HTTP 訊息。

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

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

您可以使用各種 HTTP 訊息處理程式。 這些包括下列各項。

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

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

  3. HttpClientHandler - 在實際處理 HTTP 傳輸作業之處理程式鏈結底部運作的類別。

  4. WebRequestHandler - 在處理程式鏈結類別底部操作的特殊類別,其會使用物件特有的 System.Net.HttpWebRequest 選項來處理 HTTP 傳輸作業。

HTTP 訊息的內容會對應至 RFC 2616 中定義的實體本文。

許多類別可用於 HTTP 內容。 這些包括下列各項。

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

  2. FormUrlEncodedContent - 使用 application/x-www-form-urlencoded MIME 類型編碼的名稱/值 Tuple HTTP 內容。

  3. MultipartContent - 使用 multipart/* 內容類型規格串行化的 HTTP 內容。

  4. MultipartFormDataContent - 使用 multipart/form-data MIME 類型編碼的 HTTP 內容。

  5. StreamContent - 根據數據流的 HTTP 內容。

  6. 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 市集應用程式的網路隔離

另請參閱