Skip to main content
HttpClient.PostAsync | postAsync method

Applies to Windows and Windows Phone

Send a POST request to the specified Uri as an asynchronous operation.

Syntax


httpClient.postAsync(uri, content).done( /* Your success and error handlers */ );

public IAsyncOperationWithProgress<HttpResponseMessage, HttpProgress> PostAsync(
  Uri uri, 
  IHttpContent content
)

Public Function PostAsync(
  uri As Uri,  
  content As IHttpContent 
) As IAsyncOperationWithProgress(Of HttpResponseMessage, HttpProgress)

public:
IAsyncOperationWithProgress<HttpResponseMessage, HttpProgress>^ PostAsync(
  Uri^ uri, 
  IHttpContent^ content
)

Parameters

uri

Type: Windows.Foundation.Uri [JavaScript] | System.Uri [.NET] | Windows::Foundation::Uri [C++]

The Uri the request is sent to.

content

Type: IHttpContent

The HTTP request content to send to the server.

Return value

Type: IAsyncOperationWithProgress<HttpResponseMessage, HttpProgress>

The object representing the asynchronous operation.

Exceptions

A number of exceptions can occur when calling this method. Only a few of the possible errors that can cause exceptions are listed.

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.

An app can use the HRESULT from the exception to learn more detailed information on the error that caused the exception.

For more information on possible exceptions and how to handle exceptions, see Handling exceptions in network apps.

ExceptionCondition
E_INVALIDARG

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

Remarks

This operation will not block. The returned IAsyncOperationWithProgress(HttpResponseMessage, HttpProgress) object will complete 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.

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.

Requirements

Minimum supported client

Windows 8.1

Minimum supported server

Windows Server 2012 R2

Minimum supported phone

Windows Phone 8.1 [Windows Phone Silverlight 8.1 and Windows Runtime apps]

Namespace

Windows.Web.Http
Windows::Web::Http [C++]

Metadata

Windows.winmd

See also

HttpClient
IHttpContent
IAsyncOperationWithProgress(String, HttpProgress)
PutAsync
SendRequestAsync
Uri