HttpClient.GetStringAsync Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Enviar um pedido GET para o URI especificado e devolver o corpo de resposta como uma string numa operação assíncrona.
Sobrecargas
| Name | Description |
|---|---|
| GetStringAsync(String) |
Enviar um pedido GET para o URI especificado e devolver o corpo de resposta como uma string numa operação assíncrona. |
| GetStringAsync(Uri) |
Enviar um pedido GET para o URI especificado e devolver o corpo de resposta como uma string numa operação assíncrona. |
Observações
Esta operação não bloqueia.
GetStringAsync(String)
Enviar um pedido GET para o URI especificado e devolver o corpo de resposta como uma string numa operação assíncrona.
public:
System::Threading::Tasks::Task<System::String ^> ^ GetStringAsync(System::String ^ requestUri);
public System.Threading.Tasks.Task<string> GetStringAsync(string requestUri);
member this.GetStringAsync : string -> System.Threading.Tasks.Task<string>
Public Function GetStringAsync (requestUri As String) As Task(Of String)
Parâmetros
- requestUri
- String
O URI para onde o pedido é enviado.
Devoluções
O objeto tarefa que representa a operação assíncrona.
Exceções
Não requestUri é um URI absoluto e BaseAddress não está configurado.
O pedido falhou devido a um problema em obter uma resposta HTTP válida, como falha de conectividade de rede, falha DNS, erro de validação de certificado do servidor ou resposta inválida do servidor. Em versões .NET 8 e posteriores, a razão é indicada por HttpRequestError
-ou-
O código de estado de resposta estava fora do intervalo de 200-299 (o que indica sucesso segundo o padrão).
-ou-
Framework .NET apenas: O pedido expirou.
.NET Core e .NET 5 e posteriores apenas: O pedido falhou devido ao timeout.
O URI de pedido fornecido não é válido relativo nem absoluto.
Observações
Esta operação não bloqueia. O objeto devolvido Task<TResult> será concluído depois de todo o corpo de resposta ser lido.
Internamente, esta operação serve HttpResponseMessage.EnsureSuccessStatusCode para garantir que o código de estado da resposta está no intervalo de sucesso (200-299) e lança um HttpRequestException caso contrário.
Em alguns cenários, pode ser necessário mais controlo sobre quais os códigos de estado considerados bem-sucedidos; por exemplo, uma API pode ser esperada que devolva 200 OKsempre . Nesses casos, recomendamos verificar manualmente se StatusCode corresponde ao valor esperado.
Note
Em caso de tempo morto:
- .NET Framework lança um HttpRequestException.
- .NET Core lança um OperationCanceledException sem qualquer exceção interna.
- .NET versões 5 e posteriores lançam um OperationCanceledException que aninhou um TimeoutException.
Aplica-se a
GetStringAsync(Uri)
Enviar um pedido GET para o URI especificado e devolver o corpo de resposta como uma string numa operação assíncrona.
public:
System::Threading::Tasks::Task<System::String ^> ^ GetStringAsync(Uri ^ requestUri);
public System.Threading.Tasks.Task<string> GetStringAsync(Uri requestUri);
member this.GetStringAsync : Uri -> System.Threading.Tasks.Task<string>
Public Function GetStringAsync (requestUri As Uri) As Task(Of String)
Parâmetros
- requestUri
- Uri
O URI para onde o pedido é enviado.
Devoluções
O objeto tarefa que representa a operação assíncrona.
Exceções
Não requestUri é um URI absoluto e BaseAddress não está configurado.
O pedido falhou devido a um problema em obter uma resposta HTTP válida, como falha de conectividade de rede, falha DNS, erro de validação de certificado do servidor ou resposta inválida do servidor. Em versões .NET 8 e posteriores, a razão é indicada por HttpRequestError
-ou-
O código de estado de resposta estava fora do intervalo de 200-299 (o que indica sucesso segundo o padrão).
-ou-
Framework .NET apenas: O pedido expirou.
.NET Core e .NET 5 e posteriores apenas: O pedido falhou devido ao timeout.
Observações
Esta operação não bloqueia. O objeto devolvido Task<TResult> será concluído depois de todo o corpo de resposta ser lido.
Internamente, esta operação serve HttpResponseMessage.EnsureSuccessStatusCode para garantir que o código de estado da resposta está no intervalo de sucesso (200-299) e lança um HttpRequestException caso contrário.
Em alguns cenários, pode ser necessário mais controlo sobre quais os códigos de estado considerados bem-sucedidos; por exemplo, uma API pode ser esperada que devolva 200 OKsempre . Nesses casos, recomendamos verificar manualmente se StatusCode corresponde ao valor esperado.
Note
Em caso de tempo morto:
- .NET Framework lança um HttpRequestException.
- .NET Core lança um OperationCanceledException sem qualquer exceção interna.
- .NET versões 5 e posteriores lançam um OperationCanceledException que aninhou um TimeoutException.