HttpClient.GetStringAsync Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Envie uma solicitação GET para o URI especificado e retorne o corpo da resposta como uma cadeia de caracteres em uma operação assíncrona.
Sobrecargas
| Nome | Description |
|---|---|
| GetStringAsync(String) |
Envie uma solicitação GET para o URI especificado e retorne o corpo da resposta como uma cadeia de caracteres em uma operação assíncrona. |
| GetStringAsync(Uri) |
Envie uma solicitação GET para o URI especificado e retorne o corpo da resposta como uma cadeia de caracteres em uma operação assíncrona. |
Comentários
Essa operação não é bloqueada.
GetStringAsync(String)
Envie uma solicitação GET para o URI especificado e retorne o corpo da resposta como uma cadeia de caracteres em uma 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 o qual a solicitação é enviada.
Retornos
O objeto de tarefa que representa a operação assíncrona.
Exceções
O requestUri URI não é absoluto e BaseAddress não está definido.
A solicitação falhou devido a um problema ao obter uma resposta HTTP válida, como falha de conectividade de rede, falha de DNS, erro de validação de certificado do servidor ou resposta inválida do servidor. Em versões .NET 8 e posteriores, o motivo é indicado por HttpRequestError
-ou-
O código de status de resposta estava fora do intervalo de 200 a 299 (que indicam êxito de acordo com o padrão).
-ou-
somente .NET Framework: a solicitação atingiu o tempo limite.
.NET Core e .NET 5 e posterior somente: a solicitação falhou devido ao tempo limite.
O URI de solicitação fornecido não é URI relativo ou absoluto válido.
Comentários
Essa operação não é bloqueada. O objeto retornado Task<TResult> será concluído depois que todo o corpo da resposta for lido.
Internamente, essa operação usa HttpResponseMessage.EnsureSuccessStatusCode para garantir que o código de status de resposta esteja no intervalo de êxito (200-299) e gera um HttpRequestException caso não esteja.
Em alguns cenários, talvez você precise de mais controle sobre quais códigos de status são considerados bem-sucedidos; por exemplo, uma API pode ser esperada para sempre retornar 200 OK. Nesses casos, recomendamos verificar manualmente se StatusCode corresponde ao valor esperado.
Note
No caso de um tempo limite:
- .NET Framework lança um HttpRequestException.
- .NET Core gera um OperationCanceledException sem nenhuma exceção interna.
- .NET 5 e versões posteriores lançam um OperationCanceledException que aninha um TimeoutException.
Aplica-se a
GetStringAsync(Uri)
Envie uma solicitação GET para o URI especificado e retorne o corpo da resposta como uma cadeia de caracteres em uma 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 o qual a solicitação é enviada.
Retornos
O objeto de tarefa que representa a operação assíncrona.
Exceções
O requestUri URI não é absoluto e BaseAddress não está definido.
A solicitação falhou devido a um problema ao obter uma resposta HTTP válida, como falha de conectividade de rede, falha de DNS, erro de validação de certificado do servidor ou resposta inválida do servidor. Em versões .NET 8 e posteriores, o motivo é indicado por HttpRequestError
-ou-
O código de status de resposta estava fora do intervalo de 200 a 299 (que indicam êxito de acordo com o padrão).
-ou-
somente .NET Framework: a solicitação atingiu o tempo limite.
.NET Core e .NET 5 e posterior somente: a solicitação falhou devido ao tempo limite.
Comentários
Essa operação não é bloqueada. O objeto retornado Task<TResult> será concluído depois que todo o corpo da resposta for lido.
Internamente, essa operação usa HttpResponseMessage.EnsureSuccessStatusCode para garantir que o código de status de resposta esteja no intervalo de êxito (200-299) e gera um HttpRequestException caso não esteja.
Em alguns cenários, talvez você precise de mais controle sobre quais códigos de status são considerados bem-sucedidos; por exemplo, uma API pode ser esperada para sempre retornar 200 OK. Nesses casos, recomendamos verificar manualmente se StatusCode corresponde ao valor esperado.
Note
No caso de um tempo limite:
- .NET Framework lança um HttpRequestException.
- .NET Core gera um OperationCanceledException sem nenhuma exceção interna.
- .NET 5 e versões posteriores lançam um OperationCanceledException que aninha um TimeoutException.