首页 > 其他分享 >RestSharp基本使用方法

RestSharp基本使用方法

时间:2024-11-12 17:09:48浏览次数:1  
标签:基本 req Authenticator client ans var new RestSharp 方法

  • 关于RestSharp

RestSharp is a library that allows you to make REST and HTTP calls in .NET applications. It supports serialization, parameters, async functions, and more.

RestSharpC#的一个WepApi库,支持通用的Web接口处理,支持序列化、参数化、异步回调等。

  • 入门示例,带授权的GET请求
// 设置授权信息Authenticator,客户端级别,适用于多个请求共用
// 指定主页(基)地址
var opt = new RestClientOptions(HomeUrl)
{
    Authenticator = new HttpBasicAuthenticator("用户名", "密码")
};
var client = new RestClient(opt);

// 创建请求,指定相对地址
var req = new RestRequest("ui/api/f1?recordNum=0");
// 也可以在请求上单独设置授权信息,单个请求的级别
// req.Authenticator = Authenticator;

// 在client上执行异步的GET请求
var ans = await client.GetAsync(req);
ShowRest(req, ans);

// 显示应答方法
void ShowRest(RestRequest req, RestResponse ans)
{
    if(ans.IsSuccessful)
    {
        Log("请求成功:\r\n链接:" + ans.ResponseUri.AbsoluteUri + "\r\n结果:" + ans.Content);
    }
    else
    {
        Log("请求失败:\r\n链接:" + (ans.ResponseUri?.AbsoluteUri ?? req.Resource) + "\r\n原因:" + ans.Content);
    }
}
  • 一般流程,示例GET
// 1.创建client,指定基地址
var client = new RestClient('htpp://192.168.1.1:8089');
// 支持添加client级别的参数,如下:
// AddDefaultHeader
// AddDefaultHeaders
// AddDefaultParameter
// AddDefaultParameter
// AddDefaultParameter
// AddDefaultQueryParameter
// AddDefaultUrlSegment

// 2.创建请求,指定相对地址
var req = new RestRequest("/api/v1/ui/auth/f2");
// 设置参数
foreach(var p in Parameters)
{
    req.AddParameter(p.Key, p.Value);
}
// 参数还可以通过其他方式添加,如:
// req.AddBody("", ContentType.Json);
// req.AddObject(para)
// req.AddJsonBody(json_para);

// 3.添加授权信息(该步骤可选,看接口是否需要授权)
req.Authenticator = Authenticator;

// 其他参数设置,如:
// 添加Cookies AddCookie
// 添加Header  AddHeader
// 添加上传文件 AddFile

// 4.执行请求
// 请求方式支持:Get Post Put Delete Head Options Patch Merge Copy Search
var ans = client.Execute(req, Method.Get);
ShowRest(req, ans);
  • POST + JSON 示例
// 1.创建client,指定基地址
var client = new RestClient(HomeUrl);

// 2.创建请求,指定相对地址
var req = new RestRequest("api/v1/f3");
// 设置参数
// {"path":"2024/202411121649.zip","name":"my_baby","type":"file"}
req.AddJsonBody(Para);

// 3.添加授权信息(该步骤可选,看接口是否需要授权)
req.Authenticator = Authenticator;

// 添加其他信息,指定使用JSON内容
req.AddHeader("X-Requested-With", "XMLHttpRequest");
req.AddHeader("Content-Type", "application/json");

// 4.执行请求
var ans = client.Execute(req, Method.Post);
ShowRest(req, ans);
  • PUT 上传文件
// 1.创建client,指定基地址
var client = new RestClient(HomeUrl);

// 2.创建请求,指定相对地址
var filePath = Parameters["FilePath"];
var repoPath = Parameters["RepoPath"];
var req = new RestRequest("/artifactory/" + ReposName + "/" + repoPath);

// 设置上传的目标文件
req.AddFile(Path.GetFileName(filePath), filePath);

// 3.添加授权信息(该步骤可选,看接口是否需要授权)
req.Authenticator = Authenticator;

// 4.执行请求
var ans = client.Execute(req, Method.Put);
ShowRest(req, ans);

标签:基本,req,Authenticator,client,ans,var,new,RestSharp,方法
From: https://www.cnblogs.com/arbboter/p/18542289

相关文章

  • Linux各种作死故障与修复方法,全面复盘全程高能,系统级故障救援经验汇总
     来自:https://www.cnblogs.com/liulianzhen99/p/17543477.html 原文连接:https://mp.weixin.qq.com/s/l_D3-jm4JWPIz3DecrRUyw1linux启动过程启动过程分析启动级别init0,init3,init5init6。systemd服务管理。systemd导致系统反复重启:2磁盘与分区配置文件磁盘UU......
  • 变异等位基因频率VAF计算方法
    在生物信息学中,变异等位基因频率(Variant等位基因频率,VAF)是指在一个种群中,某个特定变异位点上变异等位基因出现的频率,常见的计算VAF的方法如下:1.基于测序深度的计算方法原理:通过统计变异位点的测序深度以及变异等位基因的支持reads数来计算VAF。测序深度是指在该位......
  • swiper vue-awesome-swiper基本使用以及注意事项
    本文中使用vue来演示1.安装swiper下载插件(最新版本的swiper可能会出现未知bug,所以这里使用5.4.5)[email protected]@4.1.0-seve注意!!安装swiper和vue-awesome-swiper一定要对应上版本,否则引入,或者语法会出报错,每一个swiper版本都有对应的vue-awe......
  • 2.基本的SELECT语句
    #列出数据库showdatabases;#创建数据库createdatabasedbtest;1.SQL分类DDL:数据定义语言CREATE、DROP、ALTER、RENAME、TRUNCATEDML*:数据操作语言INSERT、DELETE、UPDATE、SELECTDCL:数据控制语言GRANT、REVOKE、ROLLBACK、COMMIT、SAVEPOINT2.导入数据方式一:基......
  • elementUI中时间控件,设置范围一个月的方法
    <template><el-date-pickerstyle="width:260px;"V-model="timeRange"type="daterange"range-separator="value-format="yyyy-MM-dd"start-placeholder="开始日期"end-pla......
  • 项目管理有哪些常用的方法和工具?
    在项目管理中,有许多方法和工具可以帮助项目经理有效地规划、执行和控制项目,确保项目按时、按预算和按质量标准完成。以下是一些常用的项目管理方法和工具:1.项目管理方法1.1瀑布法(Waterfall)概述:瀑布法是一种传统的项目管理方法,它遵循线性、顺序的流程,每个阶段必须在开始下......
  • 网络安全从零开始学习CTF——CTF基本概念
    这一系列把自己学习的CTF的过程详细写出来,方便大家学习时可以参考。一、CTF简介01」简介中文一般译作夺旗赛(对大部分新手也可以叫签到赛),在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。CTF起源于1996年DEFCON全球黑客大会,以代替之前黑客们通过互......
  • 深入理解数据归一化:原理、方法和应用
    目录引言1.为什么要进行数据归一化?2.常用的归一化方法(1)最小-最大归一化(Min-MaxNormalization)(2)标准化(Standardization)(3)均值归一化(MeanNormalization)(4)缩放到单位范数(ScalingtoUnitNorm)3.归一化的应用场景  (1)深度学习中的数据归一化  (2......
  • 【JAVA】Java基础—面向对象编程:构造方法-实现一个Car类,包含多个构造方法,创建不同的汽
    在Java中,构造方法则是用于创建对象的特殊方法。通过构造方法,可以在创建对象时初始化其属性。构造方法的重载允许我们根据不同的需求定义多个构造方法,从而灵活地创建对象。我们可以将汽车的构造方法比作汽车的配置选项。比如,当你购买一辆汽车时,你可以选择不同的配置,如颜色、型......
  • 内网基本概念及知识
    参考:微信公众号:网络安全自修室1.内网概述内网也指局域网(LocalAreaNetwork,LAN),即在某一区域内由多台计算机互联成的计算机组。一般是方圆几千米以内。局域网可以实现文件管理,应用软件共享,打印机共享,工作组内的历程安排,电子邮件和传真通信服务等功能。内网是封闭型的,其可......