首页 > 其他分享 >RestSharp HTTP请求库

RestSharp HTTP请求库

时间:2023-05-14 22:56:25浏览次数:54  
标签:HTTP 请求 request token client var RestSharp response

官方文档:https://restsharp.dev/intro.html#introduction

c# RestSharp(http请求):https://blog.csdn.net/czjnoe/article/details/106482422

包引入

  1. RestSharp
  2. RestSharp.Serializers.NewtonsoftJson

如无必要不要使用AddJsonBody,因为某些接口会不识别

POST请求

参数为JSON

//定义
private RestClient client { get; set; }
//帮助类方法
public MoneyCardHelper()
{
    ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3
                                                   | SecurityProtocolType.Tls
                                                   | SecurityProtocolType.Tls11
                                                   | SecurityProtocolType.Tls12;
    client= new RestClient(baseApi);//定义根路径
    client.UseNewtonsoftJson();//使用NewtonsoftJson序列化,需要引入NewtonsoftJson包
    client.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)";
}

//方法中代码
string url = "Test/GetProjectList";
var request = new RestRequest(url, DataFormat.Json);
//添加POST参数
request.AddOrUpdateParameter("client_id", client_id);
request.AddOrUpdateParameter("client_secret", client_secret);
request.AddOrUpdateParameter("grant_type", grant_type);

var response = client.Post<GetProjectListDto>(request);
if (response.IsSuccessful){
    //请求成功
    var data = response.Data;//返回的结果
}else{
    response.ErrorMessage;//错误信息
}

获取结果if (response.IsSuccessful)时候后,response.Data就是设定的返回类型数据

Get请求

string url = "/test/all_info";
var request = new RestRequest(url, DataFormat.Json);
request.AddQueryParameter("statusCode", "0");
var response = client.Get<SyncInformationDto>(request);
if (response.IsSuccessful)
{
    //请求成功
    var data = response.Data;//返回的结果
}

token验证

//access_token为token文本,token_type为类型,例如:“Bearer”
client.Authenticator = new OAuth2AuthorizationRequestHeaderAuthenticator(
    access_token, token_type
);

标签:HTTP,请求,request,token,client,var,RestSharp,response
From: https://www.cnblogs.com/itljf/p/17400492.html

相关文章

  • c#高性能服务器源代码,其中包括mvc api服务,http服务,ftp服务,sokect服务,websocket服务,大
    c#高性能服务器源代码,其中包括mvcapi服务,http服务,ftp服务,sokect服务,websocket服务,大文件传输服务。这些服务均抛开iis及第三支持,可写成服务或随软件启动而启动。ID:85320654113922032......
  • Lighttpd 1.4.70 发布,开源 Web 服务器
    lighttpd是开源Web服务器,专门针对高性能环境进行了优化,具有安全、快速、兼容性好且灵活的特点。lighttpd可有效地使用内存和CPU,并且比其他流行的Web服务器具有更低的资源使用率。它的高级功能集包括FastCGI、CGI、Auth、输出压缩和URL重写等。Lighttpd1.4.70具有本机......
  • 8-HTTP
    1.简介HTTP概念HyperTextTransferProtocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则数据传输的规则指的是请求数据和响应数据需要按照指定的格式进行传输。如果想知道具体的格式,可以打开浏览器,点击F12打开开发者工具,点击Network来查看某一次请求的请求......
  • http cache 笔记转载
    HTTP协议的Cache-Control指定请求和响应遵循的缓存机制。在请求消息或响应消息中设置Cache-Control并不会影响另一个消息处理过程中的缓存处理过程。请求时的缓存指令包括:no-cache、no-store、max-age、max-stale、min-fresh、only-if-cached等。响应消息中的指令包括:publi......
  • TP5 获取HTTP头信息用法
    可以使用Request对象的header方法获取当前请求的HTTP请求头信息$info=Request::instance()->header();echo$info['accept'];echo$info['accept-encoding'];echo$info['user-agent'];也可以直接获取某个请求头信息,例如:$agent=Request::instance()->header('us......
  • [springboot] 上传文件时,报"org.apache.tomcat.util.http.fileupload.impl.FileSizeLi
    1问题描述基于springmvc/springboot的MultipartFile接口实现上传文件功能时,报如下错误日志[2023/05/1322:31:54.732][TID:N/A][INFO][http-nio-8769-exec-5][AccessPathWebFilter.java:85doFilter][3-4]request-path:http://love.pfr.kim/user-service/v1/file-re......
  • 解决docker search influxdb 报错Error response from daemon: Get "https://index.do
    解决dockersearchinfluxdb报错Errorresponsefromdaemon:Get"https://index.docker.io/v1/search?q=influxdb&n=25":dialtcp:lookupindex.docker.ioon192.168.12.2:53:readudp192.168.12.128:39189->192.168.12.2:53:i/otimeoutdockerpull&......
  • 使用go-cqhttp搭建qq机器人
    使用go-cqhttp搭建qq机器人--python处理消息1.环境部署本次使用windows测试部署下载地址:https://github.com/Mrs4s/go-cqhttp/releases下载后解压,会有三个文件,点击运行exe生成bat文件,再运行运行bat,填入0,然后生成配置文件config.yml;填入qq号和密码(不过填入......
  • HTTPS--TLS 总结归纳
    SSL/TLS握手详细过程"clienthello"消息:客户端通过发送"clienthello"消息向服务器发起握手请求,该消息包含了客户端所支持的TLS版本和密码组合以供服务器进行选择,还有一个"clientrandom"随机字符串。"serverhello"消息:服务器发送"serverhello"消息对客户端进行回应,该消......
  • 在 ASP.NET Core Web API 中处理 Patch 请求
    一、概述PUT和PATCH方法用于更新现有资源。它们之间的区别是,PUT会替换整个资源,而PATCH仅指定更改。在ASP.NETCoreWebAPI中,由于C#是一种静态语言(dynamic在此不表),当我们定义了一个类型用于接收HTTPPatch请求参数的时候,在Action中无法直接从实例中得知客户......