学堂 学堂 学堂公众号手机端

在WinForm应用程序中调用Web接口,一般可以使用HttpClient类来发送HTTP请求并接收响应。以下是一个简单的示例代码

lewis 1年前 (2024-04-08) 阅读数 12 #技术

在WinForm应用程序中调用Web接口,一般可以使用HttpClient类来发送HTTP请求并接收响应。以下是一个简单的示例代码:

usingSystem;
usingSystem.Net.Http;
usingSystem.Threading.Tasks;

namespaceWinFormWebApiExample
{
publicpartialclassMainForm:Form
{
privateHttpClienthttpClient;

publicMainForm()
{
InitializeComponent();

//初始化HttpClient
httpClient=newHttpClient();
httpClient.BaseAddress=newUri("http://api.example.com");//设置Web接口的基础地址
}

privateasyncvoidbtnGetData_Click(objectsender,EventArgse)
{
try
{
//发送GET请求,并获取响应内容
HttpResponseMessageresponse=awaithttpClient.GetAsync("/api/data");
response.EnsureSuccessStatusCode();
stringresponseBody=awaitresponse.Content.ReadAsStringAsync();

//处理响应内容
//...

//显示结果
tbResult.Text=responseBody;
}
catch(Exceptionex)
{
tbResult.Text="Error:"+ex.Message;
}
}

privateasyncvoidbtnSendData_Click(objectsender,EventArgse)
{
try
{
//构造要发送的数据
vardata=new{Name=tbName.Text,Age=int.Parse(tbAge.Text)};

//发送POST请求,并获取响应内容
HttpResponseMessageresponse=awaithttpClient.PostAsJsonAsync("/api/data",data);
response.EnsureSuccessStatusCode();
stringresponseBody=awaitresponse.Content.ReadAsStringAsync();

//处理响应内容
//...

//显示结果
tbResult.Text=responseBody;
}
catch(Exceptionex)
{
tbResult.Text="Error:"+ex.Message;
}
}
}
}

在上面的示例中,MainForm是一个WinForm的主窗体类,其中有两个按钮分别用于获取数据和发送数据。在构造函数中初始化HttpClient并设置Web接口的基础地址。点击按钮时,通过HttpClient发送对应的HTTP请求并处理响应内容。注意要引入System.Net.Http和System.Threading.Tasks命名空间。


版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门