HttpClient.GetAsync 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
以非同步操作方式向指定的 URI 發送 GET 請求。
多載
| 名稱 | Description |
|---|---|
| GetAsync(String) |
以非同步操作方式向指定的 URI 發送 GET 請求。 |
| GetAsync(Uri) |
以非同步操作方式向指定的 URI 發送 GET 請求。 |
| GetAsync(String, HttpCompletionOption) |
以非同步操作方式向指定的 URI 發送 GET 請求,並附有 HTTP 完成選項。 |
| GetAsync(String, CancellationToken) |
以非同步操作向指定的 URI 發送 GET 請求,並使用取消權杖。 |
| GetAsync(Uri, HttpCompletionOption) |
以非同步操作方式向指定的 URI 發送 GET 請求,並附有 HTTP 完成選項。 |
| GetAsync(Uri, CancellationToken) |
以非同步操作向指定的 URI 發送 GET 請求,並使用取消權杖。 |
| GetAsync(String, HttpCompletionOption, CancellationToken) |
以非同步操作方式向指定的 URI 發送 GET 請求,並附有 HTTP 完成選項及取消權杖。 |
| GetAsync(Uri, HttpCompletionOption, CancellationToken) |
以非同步操作方式向指定的 URI 發送 GET 請求,並附有 HTTP 完成選項及取消權杖。 |
備註
行動不會被阻擋。
GetAsync(String)
以非同步操作方式向指定的 URI 發送 GET 請求。
public:
System::Threading::Tasks::Task<System::Net::Http::HttpResponseMessage ^> ^ GetAsync(System::String ^ requestUri);
public System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage> GetAsync(string requestUri);
member this.GetAsync : string -> System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>
Public Function GetAsync (requestUri As String) As Task(Of HttpResponseMessage)
參數
- requestUri
- String
請求被送達的 URI。
傳回
表示異步操作的工作物件。
例外狀況
這 requestUri 不是絕對的 URI,也 BaseAddress 沒有設定好。
請求失敗是因為無法取得有效的 HTTP 回應,例如網路連線失敗、DNS 故障、伺服器憑證驗證錯誤或伺服器回應無效。 在 .NET 8 及以後版本中,原因以 HttpRequestError 表示
-或-
僅限 .NET Framework 使用:請求已逾時。
僅 .NET Core 及 .NET 5 及以後版本:因逾時而請求失敗。
所提供的請求 URI 既非有效的相對 URI,也非絕對 URI。
備註
這個操作不會阻擋。 回傳 Task<TResult> 的物件會在整個回應(包括內容)被讀取後完成。 行為與明確指定相同 ResponseContentRead 。
Note
若逾時,會對不同的 .NET 實作拋出不同的例外。
- HttpRequestException 會被丟在所有適用的 .NET Framework 版本上。
- OperationCanceledException 在所有適用的 .NET Core 版本中,且無任何內部例外。
- OperationCanceledException 巢狀的 TimeoutException 會丟.NET 5 及以後版本。
適用於
GetAsync(Uri)
以非同步操作方式向指定的 URI 發送 GET 請求。
public:
System::Threading::Tasks::Task<System::Net::Http::HttpResponseMessage ^> ^ GetAsync(Uri ^ requestUri);
public System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage> GetAsync(Uri requestUri);
member this.GetAsync : Uri -> System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>
Public Function GetAsync (requestUri As Uri) As Task(Of HttpResponseMessage)
參數
- requestUri
- Uri
請求被送達的 URI。
傳回
表示異步操作的工作物件。
例外狀況
這 requestUri 不是絕對的 URI,也 BaseAddress 沒有設定好。
請求失敗是因為無法取得有效的 HTTP 回應,例如網路連線失敗、DNS 故障、伺服器憑證驗證錯誤或伺服器回應無效。 在 .NET 8 及以後版本中,原因以 HttpRequestError 表示
-或-
僅限 .NET Framework 使用:請求已逾時。
僅 .NET Core 及 .NET 5 及以後版本:因逾時而請求失敗。
備註
這個操作不會阻擋。 回傳 Task<TResult> 的物件會在整個回應(包括內容)被讀取後完成。 行為與明確指定相同 ResponseContentRead 。
Note
若逾時,會對不同的 .NET 實作拋出不同的例外。
- HttpRequestException 會被丟在所有適用的 .NET Framework 版本上。
- OperationCanceledException 在所有適用的 .NET Core 版本中,且無任何內部例外。
- OperationCanceledException 巢狀的 TimeoutException 會丟.NET 5 及以後版本。
適用於
GetAsync(String, HttpCompletionOption)
以非同步操作方式向指定的 URI 發送 GET 請求,並附有 HTTP 完成選項。
public:
System::Threading::Tasks::Task<System::Net::Http::HttpResponseMessage ^> ^ GetAsync(System::String ^ requestUri, System::Net::Http::HttpCompletionOption completionOption);
public System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage> GetAsync(string requestUri, System.Net.Http.HttpCompletionOption completionOption);
member this.GetAsync : string * System.Net.Http.HttpCompletionOption -> System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>
Public Function GetAsync (requestUri As String, completionOption As HttpCompletionOption) As Task(Of HttpResponseMessage)
參數
- requestUri
- String
請求被送達的 URI。
- completionOption
- HttpCompletionOption
HTTP 完成選項值,指示何時該操作應視為完成。
傳回
表示異步操作的工作物件。
例外狀況
這 requestUri 不是絕對的 URI,也 BaseAddress 沒有設定好。
請求失敗是因為網路連線、DNS 故障、伺服器憑證驗證或逾時等潛在問題。
僅 .NET Core 及 .NET 5 及以後版本:因逾時而請求失敗。
所提供的請求 URI 既非有效的相對 URI,也非絕對 URI。
備註
這個操作不會阻擋。 回傳 Task<TResult> 的物件會根據 completionOption 參數完成,當回應部分或全部(包括內容)被讀取後。
Note
若逾時,會對不同的 .NET 實作拋出不同的例外。
- HttpRequestException 會被丟在所有適用的 .NET Framework 版本上。
- OperationCanceledException 在所有適用的 .NET Core 版本中,且無任何內部例外。
- OperationCanceledException 巢狀的 TimeoutException 會丟.NET 5 及以後版本。
適用於
GetAsync(String, CancellationToken)
以非同步操作向指定的 URI 發送 GET 請求,並使用取消權杖。
public:
System::Threading::Tasks::Task<System::Net::Http::HttpResponseMessage ^> ^ GetAsync(System::String ^ requestUri, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage> GetAsync(string requestUri, System.Threading.CancellationToken cancellationToken);
member this.GetAsync : string * System.Threading.CancellationToken -> System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>
Public Function GetAsync (requestUri As String, cancellationToken As CancellationToken) As Task(Of HttpResponseMessage)
參數
- requestUri
- String
請求被送達的 URI。
- cancellationToken
- CancellationToken
一種可被其他物件或執行緒用來接收取消通知的取消標記。
傳回
表示異步操作的工作物件。
例外狀況
這 requestUri 不是絕對的 URI,也 BaseAddress 沒有設定好。
請求失敗是因為無法取得有效的 HTTP 回應,例如網路連線失敗、DNS 故障、伺服器憑證驗證錯誤或伺服器回應無效。 在 .NET 8 及以後版本中,原因以 HttpRequestError 表示
-或-
僅限 .NET Framework 使用:請求已逾時。
所提供的請求 URI 既非有效的相對 URI,也非絕對 URI。
備註
這個操作不會阻擋。 回傳 Task<TResult> 的物件會在整個回應(包括內容)被讀取後完成。 行為與明確指定相同 ResponseContentRead 。
Note
若逾時,會對不同的 .NET 實作拋出不同的例外。
- HttpRequestException 會被丟在所有適用的 .NET Framework 版本上。
- OperationCanceledException 在所有適用的 .NET Core 版本中,且無任何內部例外。
- OperationCanceledException 巢狀的 TimeoutException 會丟.NET 5 及以後版本。
適用於
GetAsync(Uri, HttpCompletionOption)
以非同步操作方式向指定的 URI 發送 GET 請求,並附有 HTTP 完成選項。
public:
System::Threading::Tasks::Task<System::Net::Http::HttpResponseMessage ^> ^ GetAsync(Uri ^ requestUri, System::Net::Http::HttpCompletionOption completionOption);
public System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage> GetAsync(Uri requestUri, System.Net.Http.HttpCompletionOption completionOption);
member this.GetAsync : Uri * System.Net.Http.HttpCompletionOption -> System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>
Public Function GetAsync (requestUri As Uri, completionOption As HttpCompletionOption) As Task(Of HttpResponseMessage)
參數
- requestUri
- Uri
請求被送達的 URI。
- completionOption
- HttpCompletionOption
HTTP 完成選項值,指示何時該操作應視為完成。
傳回
表示異步操作的工作物件。
例外狀況
這 requestUri 不是絕對的 URI,也 BaseAddress 沒有設定好。
請求失敗是因為無法取得有效的 HTTP 回應,例如網路連線失敗、DNS 故障、伺服器憑證驗證錯誤或伺服器回應無效。 在 .NET 8 及以後版本中,原因以 HttpRequestError 表示
-或-
僅限 .NET Framework 使用:請求已逾時。
僅 .NET Core 及 .NET 5 及以後版本:因逾時而請求失敗。
備註
這個操作不會阻擋。 回傳 Task<TResult> 的物件會根據 completionOption 參數完成,當回應部分或全部(包括內容)被讀取後。
Note
若逾時,會對不同的 .NET 實作拋出不同的例外。
- HttpRequestException 會被丟在所有適用的 .NET Framework 版本上。
- OperationCanceledException 在所有適用的 .NET Core 版本中,且無任何內部例外。
- OperationCanceledException 巢狀的 TimeoutException 會丟.NET 5 及以後版本。
適用於
GetAsync(Uri, CancellationToken)
以非同步操作向指定的 URI 發送 GET 請求,並使用取消權杖。
public:
System::Threading::Tasks::Task<System::Net::Http::HttpResponseMessage ^> ^ GetAsync(Uri ^ requestUri, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage> GetAsync(Uri requestUri, System.Threading.CancellationToken cancellationToken);
member this.GetAsync : Uri * System.Threading.CancellationToken -> System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>
Public Function GetAsync (requestUri As Uri, cancellationToken As CancellationToken) As Task(Of HttpResponseMessage)
參數
- requestUri
- Uri
請求被送達的 URI。
- cancellationToken
- CancellationToken
一種可被其他物件或執行緒用來接收取消通知的取消標記。
傳回
表示異步操作的工作物件。
例外狀況
這 requestUri 不是絕對的 URI,也 BaseAddress 沒有設定好。
該請求失敗是因為收到 HTTP 回應時出現問題,例如網路連線、DNS 故障或伺服器憑證驗證。 在 .NET 8 及以後版本中,原因以 HttpRequestError 表示
-或-
僅限 .NET Framework 使用:請求已逾時。
備註
這個操作不會阻擋。 回傳 Task<TResult> 的物件會在整個回應(包括內容)被讀取後完成。 行為與明確指定相同 ResponseContentRead 。
Note
若逾時,會對不同的 .NET 實作拋出不同的例外。
- HttpRequestException 會被丟在所有適用的 .NET Framework 版本上。
- OperationCanceledException 在所有適用的 .NET Core 版本中,且無任何內部例外。
- OperationCanceledException 巢狀的 TimeoutException 會丟.NET 5 及以後版本。
適用於
GetAsync(String, HttpCompletionOption, CancellationToken)
以非同步操作方式向指定的 URI 發送 GET 請求,並附有 HTTP 完成選項及取消權杖。
public:
System::Threading::Tasks::Task<System::Net::Http::HttpResponseMessage ^> ^ GetAsync(System::String ^ requestUri, System::Net::Http::HttpCompletionOption completionOption, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage> GetAsync(string requestUri, System.Net.Http.HttpCompletionOption completionOption, System.Threading.CancellationToken cancellationToken);
member this.GetAsync : string * System.Net.Http.HttpCompletionOption * System.Threading.CancellationToken -> System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>
Public Function GetAsync (requestUri As String, completionOption As HttpCompletionOption, cancellationToken As CancellationToken) As Task(Of HttpResponseMessage)
參數
- requestUri
- String
請求被送達的 URI。
- completionOption
- HttpCompletionOption
HTTP 完成選項值,指示何時該操作應視為完成。
- cancellationToken
- CancellationToken
一種可被其他物件或執行緒用來接收取消通知的取消標記。
傳回
表示異步操作的工作物件。
例外狀況
這 requestUri 不是絕對的 URI,也 BaseAddress 沒有設定好。
請求失敗是因為無法取得有效的 HTTP 回應,例如網路連線失敗、DNS 故障、伺服器憑證驗證錯誤或伺服器回應無效。 在 .NET 8 及以後版本中,原因以 HttpRequestError 表示
-或-
僅限 .NET Framework 使用:請求已逾時。
所提供的請求 URI 既非有效的相對 URI,也非絕對 URI。
備註
這個操作不會阻擋。 回傳 Task<TResult> 的物件會根據 completionOption 參數完成,當回應部分或全部(包括內容)被讀取後。
Note
若逾時,會對不同的 .NET 實作拋出不同的例外。
- HttpRequestException 會被丟在所有適用的 .NET Framework 版本上。
- OperationCanceledException 在所有適用的 .NET Core 版本中,且無任何內部例外。
- OperationCanceledException 巢狀的 TimeoutException 會丟.NET 5 及以後版本。
適用於
GetAsync(Uri, HttpCompletionOption, CancellationToken)
以非同步操作方式向指定的 URI 發送 GET 請求,並附有 HTTP 完成選項及取消權杖。
public:
System::Threading::Tasks::Task<System::Net::Http::HttpResponseMessage ^> ^ GetAsync(Uri ^ requestUri, System::Net::Http::HttpCompletionOption completionOption, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage> GetAsync(Uri requestUri, System.Net.Http.HttpCompletionOption completionOption, System.Threading.CancellationToken cancellationToken);
member this.GetAsync : Uri * System.Net.Http.HttpCompletionOption * System.Threading.CancellationToken -> System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>
Public Function GetAsync (requestUri As Uri, completionOption As HttpCompletionOption, cancellationToken As CancellationToken) As Task(Of HttpResponseMessage)
參數
- requestUri
- Uri
請求被送達的 URI。
- completionOption
- HttpCompletionOption
HTTP 完成選項值,指示何時該操作應視為完成。
- cancellationToken
- CancellationToken
一種可被其他物件或執行緒用來接收取消通知的取消標記。
傳回
表示異步操作的工作物件。
例外狀況
這 requestUri 不是絕對的 URI,也 BaseAddress 沒有設定好。
請求失敗是因為無法取得有效的 HTTP 回應,例如網路連線失敗、DNS 故障、伺服器憑證驗證錯誤或伺服器回應無效。 在 .NET 8 及以後版本中,原因以 HttpRequestError 表示
-或-
僅限 .NET Framework 使用:請求已逾時。
備註
這個操作不會阻擋。 回傳 Task<TResult> 的物件會根據 completionOption 參數完成,當回應部分或全部(包括內容)被讀取後。
Note
若逾時,會對不同的 .NET 實作拋出不同的例外。
- HttpRequestException 會被丟在所有適用的 .NET Framework 版本上。
- OperationCanceledException 在所有適用的 .NET Core 版本中,且無任何內部例外。
- OperationCanceledException 巢狀的 TimeoutException 會丟.NET 5 及以後版本。