winfrom实现API交互
时间: 2024-01-22 09:02:49 浏览: 39
WinForm 可以通过 HttpClient 类来实现与 API 的交互。以下是一个简单的示例:
```csharp
using System;
using System.Net.Http;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WinFormAPIDemo
{
public partial class MainForm : Form
{
private readonly HttpClient _httpClient;
public MainForm()
{
InitializeComponent();
_httpClient = new HttpClient();
}
private async void btnGetWeather_Click(object sender, EventArgs e)
{
try
{
string city = txtCity.Text;
string url = $"https://api.openweathermap.org/data/2.5/weather?q={city}&appid=YOUR_API_KEY";
HttpResponseMessage response = await _httpClient.GetAsync(url);
if (response.IsSuccessStatusCode)
{
string responseString = await response.Content.ReadAsStringAsync();
// 处理 API 响应
}
else
{
MessageBox.Show($"Error: {response.StatusCode}");
}
}
catch (Exception ex)
{
MessageBox.Show($"Error: {ex.Message}");
}
}
}
}
```
在此示例中,我们使用了 OpenWeatherMap API 来获取天气信息。我们通过 HttpClient 类来发送 GET 请求,并等待响应。如果响应成功,我们可以通过 response.Content.ReadAsStringAsync() 方法获取响应字符串,并进一步处理它。否则,我们会显示一个错误消息框。请注意,我们需要替换 YOUR_API_KEY 为我们自己的 API 密钥。
阅读全文