在UWP(W10)中使用HttpClient发出POST请求

我正在使用Universal Windows Plataform制作应用程序,我想询问如何使用httpclient将数据(id = 1)发布到服务器。 我知道互联网上有一些教程,但其中许多是针对Windows 8.1而且不适用于10。

如果要在UWP中处理HTTP请求,则需要Web服务来支持它。 如果在解决方案中创建Web API项目,则可以使用控制器内部的操作来处理POST请求。

有关Web API的更多信息: 请单击此处

首先,您需要从NuGet安装Web API .net客户端来处理来自Web API的HTTP请求。

在您的UWP项目中,您可以使用以下方法创建数据传输类:

const string ServerUrl = ""; //specify your server url public void ClientHeaderInfo(HttpClient client) { client.BaseAddress = new Uri(ServerUrl); client.DefaultRequestHeaders.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); } public virtual async Task Post(int id,string url) { HttpClientHandler handler = new HttpClientHandler { UseDefaultCredentials = true }; using (var client = new HttpClient(handler)) { ClientHeaderInfo(client); try { await client.PostAsJsonAsync(url, id); } catch (Exception ex) { await new MessageDialog(ex.Message).ShowAsync(); } } } 

现在,您可以在任何需要的地方调用Post方法,将url路由到Web API中的所需控制器,以及POST所需的ID。