在客户端发送http请求,有HttpWebRequest方式,HttpClient,WebClient,RestSharp等等
个人感觉ResetSharp封装的比较好,比较适合新手使用
本文总结一下RestSharp的基本使用方式.
0 RestSharp的基本资料
相关文档的链接
官方文档:https://restsharp.dev/getting-started/
github:https://github.com/restsharp/RestSharp
1 安装
相关dll可以通过nuget中直接下载安装即可.
如果不使用nuget,也可以通过他们git项目给出地址进行下载
2 使用
//1.首先创建一个 RestClient对象
//serviceUrl是需要请求的地址
var client = new RestClient(serviceUrl);
//2.创建一个请求,这里可以指定请求的类型
var request = new RestRequest(Method.POST);
//3.给请求加各种参数
//添加头部信息
request.AddHeader("Content-Type", "multipart/form-data");
//添加文件
//也可以通过字节流的方式添加文件 AddFileBytes(string name, byte[] bytes, string filename, string contentType = "application/x-gzip")
request.AddFile("filePath", pdfPath);
//添加参数
request.AddParameter("Timeout", options.Timeout.Value)
//官网中还有好多添加参数的方法
//可以查看该地址进行https://restsharp.dev/api/RestSharp.html#class-restrequest
//4.执行请求,并获得返回值
var restResponse = client.Execute(request);
result = restResponse.Content;
//处理返回值序列化也进行了封装,可以直接调用方法
//例如 Execute<Call>(request),可以直接将返回值序列化为对象
//至此一个请求就发送接收成功了
//使用起来还是比较方便的
参数选择(官网给出的提示):
- 所有通过AddParameter添加的值都将以标准编码形式提交,类似于通过网页提交的表单。
- 如果这是GET样式的请求(GET / DELETE / OPTIONS / HEAD),则将通过查询字符串提交参数值。
- 您还可以使用添加标题和cookie参数
AddParameter
。要将对象的所有属性添加为参数,请使用AddObject
。 - 要添加要上传的文件,请使用
AddFile
(请求将以多部分编码形式发送)。 - 要包含XML或JSON之类的请求正文,请使用
AddXmlBody
或AddJsonBody
此外,RestSharp还可以支持异步请求
这是官网给的例子
using RestSharp;
using RestSharp.Authenticators;
var client = new RestClient("https://api.twitter.com/1.1");
client.Authenticator = new HttpBasicAuthenticator("username", "password");
var request = new RestRequest("statuses/home_timeline.json", DataFormat.Json);
var timeline = await client.GetAsync<HomeTimeline>(request, cancellationToken);
至此RestSharp简单调用就结束了.其他扩展使用可以查看官网
P.S .
有一个简单的小技巧,大家在调试接口中,可以使用 Postman, 调试通过后 可以直接生成 code代码,非常的方便实用
如下图所示: