HttpClient.TryPostAsync(Uri, IHttpContent) Method


Sends a POST request to the specified Uri as an asynchronous operation. For programming guidance for the HttpClient class, and code examples, see the HttpClient conceptual topic.

 virtual IAsyncOperationWithProgress<HttpRequestResult ^, HttpProgress> ^ TryPostAsync(Uri ^ uri, IHttpContent ^ content) = TryPostAsync;
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperationWithProgress<HttpRequestResult, HttpProgress> TryPostAsync(Uri const& uri, IHttpContent const& content);
public IAsyncOperationWithProgress<HttpRequestResult,HttpProgress> TryPostAsync(System.Uri uri, IHttpContent content);
function tryPostAsync(uri, content)
Public Function TryPostAsync (uri As Uri, content As IHttpContent) As IAsyncOperationWithProgress(Of HttpRequestResult, HttpProgress)


Uri Uri

The Uri the request is sent to.


The HTTP request content to send to the server.



The object representing the asynchronous operation.


Windows requirements

Device family
Windows 10, version 1903 (introduced in 10.0.18362.0)
API contract
Windows.Foundation.UniversalApiContract (introduced in v8.0)


This operation will not throw an exception on network errors. Instead you should examine the HttpRequestResult to learn about the original HTTP request, the resulting HTTP response (if any) and error (if any). This operation will throw when the operation is canceled.

This operation will not block. The returned IAsyncOperationWithProgress (of HttpRequestResult and HttpProgress) completes after the whole response (including content) is read.

The TryPutAsync and TryPostAsync methods only allow setting a limited number of HTTP content headers. In contrast, the TrySendRequestAsync method allows setting headers on the request message as well as on the HTTP content to be sent.

Applies to

See also