HttpClient.Send 方法

定義

多載

Send(HttpRequestMessage)

使用指定的要求傳送 HTTP 要求。

Send(HttpRequestMessage, HttpCompletionOption)

傳送 HTTP 要求。

Send(HttpRequestMessage, CancellationToken)

使用指定的要求和取消權杖來傳送 HTTP 要求。

Send(HttpRequestMessage, HttpCompletionOption, CancellationToken)

使用指定的要求和取消權杖來傳送 HTTP 要求。

Send(HttpRequestMessage)

來源:
HttpClient.cs
來源:
HttpClient.cs
來源:
HttpClient.cs

使用指定的要求傳送 HTTP 要求。

C#
public System.Net.Http.HttpResponseMessage Send (System.Net.Http.HttpRequestMessage request);
C#
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public System.Net.Http.HttpResponseMessage Send (System.Net.Http.HttpRequestMessage request);

參數

request
HttpRequestMessage

要傳送的 HTTP 要求訊息。

傳回

HTTP 回應消息。

屬性

例外狀況

requestnull

HTTP 版本為2.0 或更高版本,或者版本原則設定為 RequestVersionOrHigher

-或-

衍生自 HttpContent 的自訂類別不會覆寫 SerializeToStream(Stream, TransportContext, CancellationToken) 方法。

-或-

自訂的 HttpMessageHandler 不會覆寫 Send(HttpRequestMessage, CancellationToken) 方法。

要求訊息已經透過 HttpClient 執行個體傳送。

要求因為基本問題 (例如網路連線、DNS 失敗、伺服器憑證驗證) 而失敗。

如果 TaskCanceledException 例外狀況使 TimeoutException 成為巢狀:要求會因逾時而失敗。

適用於

.NET 9 及其他版本
產品 版本
.NET 5, 6, 7, 8, 9

Send(HttpRequestMessage, HttpCompletionOption)

來源:
HttpClient.cs
來源:
HttpClient.cs
來源:
HttpClient.cs

傳送 HTTP 要求。

C#
public System.Net.Http.HttpResponseMessage Send (System.Net.Http.HttpRequestMessage request, System.Net.Http.HttpCompletionOption completionOption);
C#
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public System.Net.Http.HttpResponseMessage Send (System.Net.Http.HttpRequestMessage request, System.Net.Http.HttpCompletionOption completionOption);

參數

request
HttpRequestMessage

要傳送的 HTTP 要求訊息。

completionOption
HttpCompletionOption

指定作業應該完成的時間 (可取得回應時或讀取整個回應內容之後) 的其中一個列舉值。

傳回

HTTP 回應訊息。

屬性

例外狀況

requestnull

HTTP 版本為2.0 或更高版本,或者版本原則設定為 RequestVersionOrHigher

-或-

衍生自 HttpContent 的自訂類別不會覆寫 SerializeToStream(Stream, TransportContext, CancellationToken) 方法。

-或-

自訂的 HttpMessageHandler 不會覆寫 Send(HttpRequestMessage, CancellationToken) 方法。

要求訊息已經透過 HttpClient 執行個體傳送。

要求因為基本問題 (例如網路連線、DNS 失敗、伺服器憑證驗證) 而失敗。

如果 TaskCanceledException 例外狀況使 TimeoutException 成為巢狀:要求會因逾時而失敗。

適用於

.NET 9 及其他版本
產品 版本
.NET 5, 6, 7, 8, 9

Send(HttpRequestMessage, CancellationToken)

來源:
HttpClient.cs
來源:
HttpClient.cs
來源:
HttpClient.cs

使用指定的要求和取消權杖來傳送 HTTP 要求。

C#
public override System.Net.Http.HttpResponseMessage Send (System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken);
C#
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public override System.Net.Http.HttpResponseMessage Send (System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken);

參數

request
HttpRequestMessage

要傳送的 HTTP 要求訊息。

cancellationToken
CancellationToken

用於取消作業的權杖。

傳回

HTTP 回應訊息。

屬性

例外狀況

requestnull

HTTP 版本為2.0 或更高版本,或者版本原則設定為 RequestVersionOrHigher

-或-

衍生自 HttpContent 的自訂類別不會覆寫 SerializeToStream(Stream, TransportContext, CancellationToken) 方法。

-或-

自訂的 HttpMessageHandler 不會覆寫 Send(HttpRequestMessage, CancellationToken) 方法。

要求訊息已經透過 HttpClient 執行個體傳送。

要求因為基本問題 (例如網路連線、DNS 失敗、伺服器憑證驗證) 而失敗。

已取消要求。

-或-

如果 TaskCanceledException 例外狀況使 TimeoutException 成為巢狀:要求會因逾時而失敗。

取消令牌已取消。 此例外狀況會儲存在傳回的工作中。

適用於

.NET 9 及其他版本
產品 版本
.NET 5, 6, 7, 8, 9

Send(HttpRequestMessage, HttpCompletionOption, CancellationToken)

來源:
HttpClient.cs
來源:
HttpClient.cs
來源:
HttpClient.cs

使用指定的要求和取消權杖來傳送 HTTP 要求。

C#
public System.Net.Http.HttpResponseMessage Send (System.Net.Http.HttpRequestMessage request, System.Net.Http.HttpCompletionOption completionOption, System.Threading.CancellationToken cancellationToken);
C#
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public System.Net.Http.HttpResponseMessage Send (System.Net.Http.HttpRequestMessage request, System.Net.Http.HttpCompletionOption completionOption, System.Threading.CancellationToken cancellationToken);

參數

request
HttpRequestMessage

要傳送的 HTTP 要求訊息。

completionOption
HttpCompletionOption

指定作業應該完成的時間 (可取得回應時或讀取整個回應內容之後) 的其中一個列舉值。

cancellationToken
CancellationToken

用於取消作業的權杖。

傳回

HTTP 回應訊息。

屬性

例外狀況

requestnull

HTTP 版本為2.0 或更高版本,或者版本原則設定為 RequestVersionOrHigher

-或-

衍生自 HttpContent 的自訂類別不會覆寫 SerializeToStream(Stream, TransportContext, CancellationToken) 方法。

-或-

自訂的 HttpMessageHandler 不會覆寫 Send(HttpRequestMessage, CancellationToken) 方法。

要求訊息已經透過 HttpClient 執行個體傳送。

要求因為基本問題 (例如網路連線、DNS 失敗、伺服器憑證驗證) 而失敗。

已取消要求。

-或-

如果 TaskCanceledException 例外狀況使 TimeoutException 成為巢狀:要求會因逾時而失敗。

取消令牌已取消。 此例外狀況會儲存在傳回的工作中。

適用於

.NET 9 及其他版本
產品 版本
.NET 5, 6, 7, 8, 9