编辑
2025-09-25
C#
00

目录

摘要
正文
主要应用场景包括:
好处
常用方法
常用属性
几个例子
Get请求
Post请求
添加请求头和处理响应
上传文件

摘要

RestSharp 是一个用于在 C# 中发送 HTTP 请求的开源库。它简化了与 RESTful API 进行交互的过程,使开发人员可以轻松地发送 GET、POST、PUT、DELETE 等 HTTP 请求,并处理响应数据。RestSharp 提供了一种简洁的方式来构建和发送 HTTP 请求,使得与服务器进行数据交换变得更加容易。

正文

主要应用场景包括:

  • 与 RESTful API 进行通信,获取数据或执行操作。
  • 在客户端应用程序中访问 Web 服务。
  • 与第三方 API 进行交互,如社交媒体平台、支付网关等。
  • 进行 Web 数据抓取和爬虫。

好处

  • 简化了 HTTP 请求的构建和发送过程。
  • 提供了易于使用的接口,降低了与 RESTful API 交互的复杂性。
  • 支持异步请求,避免阻塞主线程。
  • 跨平台支持,可以在 Windows、Linux、macOS 等操作系统上运行。

常用方法

  • Execute: 执行一个请求并返回响应数据。
  • ExecuteAsync: 异步地执行一个请求并返回响应数据。
  • AddParameter: 添加请求参数,如查询字符串、请求体等。
  • AddHeader: 添加请求头。
  • AddJsonBody: 添加 JSON 格式的请求体。
  • AddFile: 添加文件作为请求的一部分。
  • AddCookie: 添加 Cookie。
  • AddUrlSegment: 替换 URL 中的占位符。

常用属性

  • BaseUrl: 设置请求的基础 URL。
  • Timeout: 设置请求的超时时间。
  • Method: 设置请求的 HTTP 方法,如 GET、POST、PUT、DELETE 等。
  • RequestFormat: 设置请求的数据格式,如 XML、JSON 等。
  • Parameters: 获取或设置请求的参数列表。
  • Headers: 获取或设置请求的头部信息。
  • StatusCode: 获取响应的 HTTP 状态码。
  • Content: 获取响应的原始内容。

几个例子

nuget 安装 RestSharp

image.png

Get请求

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"); }

image.png

Post请求

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"); }

image.png

添加请求头和处理响应

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 许可协议。转载请注明出处!