HttpClient.PostAsync(Uri, IHttpContent) Method


Send 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<HttpResponseMessage ^, HttpProgress> ^ PostAsync(Uri ^ uri, IHttpContent ^ content) = PostAsync;
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperationWithProgress<HttpResponseMessage, HttpProgress> PostAsync(Uri const& uri, IHttpContent const& content);
public IAsyncOperationWithProgress<HttpResponseMessage,HttpProgress> PostAsync(System.Uri uri, IHttpContent content);
function postAsync(uri, content)
Public Function PostAsync (uri As Uri, content As IHttpContent) As IAsyncOperationWithProgress(Of HttpResponseMessage, 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.



See HttpClient for examples of calling HttpClient.PostAsync.


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

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

Below are the exceptions that this function throws.


The uri parameter was a null reference (Nothing in Visual Basic).

Exception Handling

You must write code to handle exceptions when you call this method. Exceptions can result from parameter validation errors, name resolutions failures, and network errors. Exceptions from network errors (loss of connectivity, connection failures, and HTTP server failures, for example) can happen at any time. These errors result in exceptions being thrown. If not handled by your app, an exception can cause your entire app to be terminated by the runtime. For more information on how to handle exceptions, see Handling exceptions in network apps.

Applies to

See also