RestSharp 是一个用于在 C# 中发送 HTTP 请求的开源库。它简化了与 RESTful API 进行交互的过程,使开发人员可以轻松地发送 GET、POST、PUT、DELETE 等 HTTP 请求,并处理响应数据。RestSharp 提供了一种简洁的方式来构建和发送 HTTP 请求,使得与服务器进行数据交换变得更加容易。
nuget 安装 RestSharp
C#private void btnGet_Click(object sender, EventArgs e)
{
var client = new RestClient("https://localhost:7137/api/");
var request = new RestRequest("User/User?id=2", Method.Get);
var response = client.Execute<x_user>(request);
var content = response.Content;
MessageBox.Show(content, "GET Response");
}
C#private void btnPost_Click(object sender, EventArgs e)
{
var client = new RestClient("https://localhost:7137/api/");
var request = new RestRequest("User/SaveDb", Method.Post);
request.AddJsonBody(new { id = 100, name = "John", age = 16, job = "IT" });
var response = client.Execute<x_user>(request);
var content = response.Content;
MessageBox.Show(content, "POST Response");
}
C#private void btnHeader_Click(object sender, EventArgs e)
{
var client = new RestClient("https://localhost:7137/api/");
var request = new RestRequest("User/SaveDb", Method.Post);
request.AddJsonBody(new { id = 100, name = "John", age = 16, job = "IT" });
//这个是添加Token请求,在现在应用极广
request.AddHeader("Authorization", "Bearer YOUR_ACCESS_TOKEN");
var response = client.Execute<x_user>(request);
if (response.StatusCode == System.Net.HttpStatusCode.OK)
{
// 处理响应数据
var content = response.Content;
MessageBox.Show(content, "Response");
}
else
{
MessageBox.Show("Request failed with status: " + response.StatusCode, "Error");
}
}
C#private void btnUpload_Click(object sender, EventArgs e)
{
var client = new RestClient("https://localhost:7137/api");
var request = new RestRequest("User/UploadFile",Method.Post);
// 添加要上传的文件
request.AddFile("file", @"d:\国学.jpg");
// 可选:如果有其他参数需要一同提交,可以使用 AddParameter 方法
// request.AddParameter("paramName", "paramValue");
var response = client.Execute<bool>(request);
if (response.StatusCode == System.Net.HttpStatusCode.OK)
{
Console.WriteLine("上传文件成功");
}
else
{
Console.WriteLine("上传出错,错误代码: " + response.StatusCode);
}
}
本文作者:技术老小子
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!