Подтвердить что ты не робот

Как отправить тело сообщения в запросе HttpClient в Windows Phone 8?

Я написал код ниже для отправки заголовков, параметров сообщений. Проблема в том, что я использую SendAsync, так как мой запрос может быть GET или POST. Как я могу добавить POST Body в этот фрагмент кода, чтобы, если есть какие-либо данные в виде сообщения, он добавляется в запросе, который я делаю, и если его простой GET или POST без тела отправляет запрос таким образом. Обновите приведенный ниже код:

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();
4b9b3361

Ответ 1

Это зависит от того, какой контент у вас есть. Вам нужно инициализировать свойство requestMessage.Content новым HttpContent. Например:

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

где content - ваш кодированный контент. Вы также должны включить правильный заголовок Content-type.

UPDATE:

О, это может быть даже лучше (из этого answer):

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