在 Http 响应消息中查找 POST 的结果
Finding result of POST in Http Response Message
我正在 VS2017 中使用 windows 表单应用程序构建 REST 客户端 (c#)。我已经能够使用 HttpClient.PostAsJsonAsync() 和 ReadAsync() 方法从服务器成功获取和 POST 请求。我正在尝试 POST 向服务器发送一些数据,在成功 POST 后,服务器会返回一个独特的字符串,例如 "1c77ad2e-54e0-4187-aa9d-9a55286b1f7a"
我收到 POST 的成功响应代码 (200 - OK)。但是,我不确定在哪里检查结果字符串。我检查了 HttpResponseMessage.Content
的内容
static async Task<HttpStatusCode> PostBurstData(string path, BurstRequest
burstRequest)
{
HttpResponseMessage response = await client.PostAsJsonAsync(path, burstRequest);
response.EnsureSuccessStatusCode();
Console.WriteLine(response.Content.ToString());
// return response
return response.StatusCode;
}
本次函数调用发送的数据如下:
BurstRequest request = new BurstRequest();
request.NodeSerialNumbers = SubSerialList;
request.StartTime = ((DateTimeOffset)dateTimePicker1.Value).ToUnixTimeMilliseconds();
HttpStatusCode statusCode = new HttpStatusCode();
statusCode = await PostBurstData(post_burst_url, request);
我应该在哪里搜索服务器响应成功的字符串 POST?是否应使用 ReadAsync() 读取内容?
if (response.IsSuccessStatusCode)
{
var data = await response.Content.ReadAsAsync();
}
为什么不尝试像下面这样使用 HttpContent
:
using (HttpResponseMessage response = await client.GetAsync(url)) // here you can use your own implementation i.e PostAsJsonAsync
{
using (HttpContent content = response.Content)
{
string responseFromServer = await content.ReadAsStringAsync();
}
}
我正在 VS2017 中使用 windows 表单应用程序构建 REST 客户端 (c#)。我已经能够使用 HttpClient.PostAsJsonAsync() 和 ReadAsync() 方法从服务器成功获取和 POST 请求。我正在尝试 POST 向服务器发送一些数据,在成功 POST 后,服务器会返回一个独特的字符串,例如 "1c77ad2e-54e0-4187-aa9d-9a55286b1f7a"
我收到 POST 的成功响应代码 (200 - OK)。但是,我不确定在哪里检查结果字符串。我检查了 HttpResponseMessage.Content
的内容static async Task<HttpStatusCode> PostBurstData(string path, BurstRequest
burstRequest)
{
HttpResponseMessage response = await client.PostAsJsonAsync(path, burstRequest);
response.EnsureSuccessStatusCode();
Console.WriteLine(response.Content.ToString());
// return response
return response.StatusCode;
}
本次函数调用发送的数据如下:
BurstRequest request = new BurstRequest();
request.NodeSerialNumbers = SubSerialList;
request.StartTime = ((DateTimeOffset)dateTimePicker1.Value).ToUnixTimeMilliseconds();
HttpStatusCode statusCode = new HttpStatusCode();
statusCode = await PostBurstData(post_burst_url, request);
我应该在哪里搜索服务器响应成功的字符串 POST?是否应使用 ReadAsync() 读取内容?
if (response.IsSuccessStatusCode)
{
var data = await response.Content.ReadAsAsync();
}
为什么不尝试像下面这样使用 HttpContent
:
using (HttpResponseMessage response = await client.GetAsync(url)) // here you can use your own implementation i.e PostAsJsonAsync
{
using (HttpContent content = response.Content)
{
string responseFromServer = await content.ReadAsStringAsync();
}
}