使用Windows.Web.HttpClient PostAsync()将带有字符串参数的POST请求发送到URL

时间:2014-09-18 16:58:47

标签: c# http post httpclient

我能够使用System.Web.HttpClient向字符串参数发送带有字符串参数的POST请求,如下所示:

// Create the HTTPClient
HttpClient httpClient = new HttpClient();

// Add string parameters
FormUrlEncodedContent content = new FormUrlEncodedContent(new[] {
    new KeyValuePair<string, string>("client_id", "myclientid),
    new KeyValuePair<string, string>("serial_number", "myserialnumber)
});

// Make the call
HttpResponseMessage response = await httpClient.PostAsync(_requestUri, content);

但是,我想做同样的事情,但使用Windows.Web.HttpClient类。
主要区别在于PostAsync方法接受HttpContent作为第二个参数,因此我的FormUrlEncodedContent不起作用。此外,我无法使用JSON创建IHttpContent,因为我需要传递字符串参数。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

看看

http://msdn.microsoft.com/en-us/library/windows/apps/windows.web.http.httpformurlencodedcontent

我认为你需要的只是创建一个HttpFormUrlEncodedContent对象并传入它。它实现了IHTTPContext接口,这就是你的后面