如何在Windows Phone 8的HttpClient请求中发送Post正文? [英] How to send a Post body in the HttpClient request in Windows Phone 8?

查看:40
本文介绍了如何在Windows Phone 8的HttpClient请求中发送Post正文?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经编写了下面的代码来发送标头,发布参数.问题是我正在使用SendAsync,因为我的请求可以是GET或POST.我如何在这部分代码中添加POST正文,以便如果在我提出的请求中添加了任何正文信息,并且如果它的简单GET或POST没有正文则以这种方式发送请求.请更新以下代码:

I have written the code below to send headers, post parameters. The problem is that I am using SendAsync since my request can be GET or POST. How can I add POST Body to this peice of code so that if there is any post body data it gets added in the request that I make and if its simple GET or POST without body it send the request that way. Please update the code below:

HttpClient client = new HttpClient();

// Add a new Request Message
HttpRequestMessage requestMessage = new HttpRequestMessage(RequestHTTPMethod, ToString());

// Add our custom headers
if (RequestHeader != null)
{
    foreach (var item in RequestHeader)
    {

        requestMessage.Headers.Add(item.Key, item.Value);

    }
}

// Add request body


// Send the request to the server
HttpResponseMessage response = await client.SendAsync(requestMessage);

// Get the response
responseString = await response.Content.ReadAsStringAsync();

推荐答案

这取决于您拥有的内容.您需要使用新的requestMessage.Content属性="noreferrer"> HttpContent .例如:

This depends on what content do you have. You need to initialize your requestMessage.Content property with new HttpContent. For example:

...
// Add request body
if (isPostRequest)
{
    requestMessage.Content = new ByteArrayContent(content);
}
...

其中content是您的编码内容.您还应该包括正确的Content-type标头.

where content is your encoded content. You also should include correct Content-type header.

哦,它甚至更好(来自此 answer ):

Oh, it can be even nicer (from this answer):

requestMessage.Content = new StringContent("{\"name\":\"John Doe\",\"age\":33}", Encoding.UTF8, "application/json");

这篇关于如何在Windows Phone 8的HttpClient请求中发送Post正文?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆