以下是一种实现方式:

public async Task<HttpResponseMessage> GetJsonDataFromServerB()
{
    HttpResponseMessage response = null;
    using (HttpClient client = new HttpClient())
    {
        client.BaseAddress = new Uri('http://serverB/api/');
        client.DefaultRequestHeaders.Accept.Clear();
        client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue('application/json'));

        // 构造请求数据
        string requestData = '{"param1":"value1","param2":"value2"}';
        StringContent content = new StringContent(requestData, Encoding.UTF8, 'application/json');

        // 发送POST请求并获取响应数据
        response = await client.PostAsync('GetData', content);

        if (response.IsSuccessStatusCode)
        {
            // 解析响应数据
            string responseData = await response.Content.ReadAsStringAsync();
            JObject jsonData = JObject.Parse(responseData);

            // 构造返回结果
            HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK);
            result.Content = new StringContent(jsonData.ToString(), Encoding.UTF8, 'application/json');
            return result;
        }
        else
        {
            // 构造返回错误信息
            HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.InternalServerError);
            result.Content = new StringContent('Error: ' + response.StatusCode.ToString(), Encoding.UTF8, 'text/plain');
            return result;
        }
    }
}

以上代码中,首先创建了一个 HttpClient 对象,并设置了请求头信息。然后构造了一个 POST 请求的请求数据,并使用 PostAsync 方法发送请求。在获取到响应数据后,判断响应的状态码是否为成功,并解析响应数据。最后根据解析得到的数据构造了一个 HttpResponseMessage 对象并返回。如果请求失败,则构造了一个包含错误信息的 HttpResponseMessage 对象并返回。

C# .NET 4.5.1 Web API 异步 POST 请求获取 JSON 数据

原文地址: https://www.cveoy.top/t/topic/mm3P 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录