用.Net写一个程序,以POST形式,调用WebApi接口,,并解析输出响应数据
时间: 2024-05-14 08:14:47 浏览: 140
通过HttpClient 调用ASP.NET Web API示例
以下是一个简单的用C#和.Net框架实现调用WebApi接口并解析响应数据的示例:
```csharp
using System;
using System.IO;
using System.Net;
using System.Text;
using Newtonsoft.Json;
class Program
{
static void Main(string[] args)
{
string url = "http://example.com/api/data"; // WebApi接口地址
string postData = "{\"name\": \"John\", \"age\": 30}"; // POST数据(JSON格式)
try
{
// 创建Web请求对象
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "POST";
request.ContentType = "application/json";
request.Timeout = 10000; // 设置超时时间
// 将POST数据写入请求流中
byte[] postDataBytes = Encoding.UTF8.GetBytes(postData);
request.ContentLength = postDataBytes.Length;
using (Stream requestStream = request.GetRequestStream())
{
requestStream.Write(postDataBytes, 0, postDataBytes.Length);
}
// 发送Web请求并获取响应
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
// 解析响应数据
using (Stream responseStream = response.GetResponseStream())
{
StreamReader reader = new StreamReader(responseStream, Encoding.UTF8);
string responseText = reader.ReadToEnd();
dynamic responseData = JsonConvert.DeserializeObject(responseText);
Console.WriteLine(responseData);
}
}
}
catch (WebException ex)
{
// 处理Web请求异常
Console.WriteLine(ex.Message);
}
catch (Exception ex)
{
// 处理其他异常
Console.WriteLine(ex.Message);
}
Console.ReadLine();
}
}
```
在上面的示例中,我们首先定义了一个WebApi接口地址和要发送的POST数据(JSON格式)。然后,我们使用HttpWebRequest类创建一个POST请求,并将POST数据写入请求流中。最后,我们将请求发送到WebApi接口,并使用HttpWebResponse类获取响应数据。在获取到响应数据后,我们使用JsonConvert类将JSON格式的响应数据转换为动态对象,以便我们可以轻松地访问其属性。最后,我们将响应数据打印到控制台上。如果出现任何异常,我们将其打印到控制台上以便调试。
阅读全文