当前位置: 首页 > news >正文

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

相关文章:

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. RestSharp是C#的一个WepApi库,支持通用的Web接口处理,支持序列化、参数…...

MySQL与Oracle对比及区别

一、比较 1、MySQL的特点 性能卓越,服务稳定,很少出现异常宕机; 开放源代码无版本制约,自主性及使用成本低; 历史悠久,社区和用户非常活跃,遇到问题及时寻求帮助; 软件体积小&#…...

NCC前端调用查询弹框

系统自带的查询模板 弹框 调启使用默认的 查询模板 是在 单据模板的 列表模板中,有个查询区域 ,查询区域就是查询模板内容如果在列表页做客开 新增按钮 调启查询模板 无问题,但是目前需求是需要再卡片页面下调启系统标准的调启模板代码 //调…...

【高中生讲机器学习】25. AdaBoost 算法详解+推导来啦!

创建时间:2024-11-08 首发时间:2024-11-13 最后编辑时间:2024-11-13 作者:Geeker_LStar 你好呀~这里是 Geeker_LStar 的人工智能学习专栏,很高兴遇见你~ 我是 Geeker_LStar,一名高一学生,热爱计…...

第三十七章 Vue之编程式导航及跳转传参

目录 一、编程式导航跳转方式 1.1. path 路径跳转 1.1.1. 使用方式 1.1.2. 完整代码 1.1.2.1. main.js 1.1.2.2. App.vue 1.1.2.3. index.js 1.1.2.4. Home.vue 1.1.2.5. Search.vue 1.2. name 命名路由跳转 1.2.1. 使用方式 1.2.2. 完整代码 1.2.2.1. main.js 1…...

vue 版本升级

Vue 3.4 升级了组件产值方式 v-model ,果断升级玩玩,记录一下升级过程 我的原Vue版本是3.2.13 升级到目前最新3.5.12 1. npm add vuelatest 2. npm add -g vue/clilatest 安装完成后记得查看是否有如下警告 这个警告是说eslint-plugin-vue package…...

探索Copier:Python项目模板的革命者

文章目录 **探索Copier:Python项目模板的革命者**1. 背景介绍:为何Copier成为新宠?2. Copier是什么?3. 如何安装Copier?4. 简单库函数使用方法4.1 创建模板4.2 从Git URL创建项目4.3 使用快捷方式4.4 动态替换文本4.5 …...

云原生后端深度解析

云原生后端 云原生后端是指专门为云计算环境设计的软件架构和服务。它强调了应用程序的设计、开发、部署和运维的方式,以充分利用云平台提供的弹性、可伸缩性和自动化能力。云原生技术主要包括容器化、微服务、不可变基础设施、声明式APIs等核心概念。下面是对这些…...

本地 SSL 证书生成神器,自己创建SSL

本地 SSL 证书生成神器,自己创建SSL 在本地环境中配置HTTPS一直以来是开发者的痛点,手动创建SSL证书、配置信任存储不仅繁琐,还容易出错。今天给大家介绍一个开源神器——mkcert!它能让你快速生成本地受信任的SSL/TLS证书,轻松打造安全的HTTPS开发环境,成为许多开发者的首…...

HCIP-快速生成树RSTP

一、RSTP是什么 STP(Spanning Tree Protocol )是生成树协议的英文缩写。该协议可应用于环路网络,通过一定的算法实现路径冗余,同时将环路网络修剪成无环路的树型网络,从而避免报文在环路网络中的增生和无限循环。 RS…...

企业级RAG(检索增强生成)系统构建研究

— 摘要 检索增强生成(Retrieval-Augmented Generation,RAG)技术已经成为企业在知识管理、信息检索和智能问答等应用中的重要手段。本文将从RAG系统的现状、方法论、实践案例、成本分析、实施挑战及应对策略等方面,探讨企业如何…...

MATLAB基础应用精讲-【数模应用】Google Caffeine算法

目录 前言 算法原理 Caffeine算法的背景和优势 什么是Caffeine算法 Caffeine算法的工作原理 常见的缓存数据淘汰算法 FIFO LRU LFU W-TinyLFU Caffeine W-TinyLFU 实现 元素驱逐 元素访问 Caffeine 的四种缓存添加策略 1. 手动加载 2. 自动加载 3. 手动异步加载…...

第十九届中国国际中小企业博览会将在粤开展

11月15日-18日,第十九届中国国际中小企业博览会(简称“中博会”)将在广州广交会展馆举办,共设8个展厅,展位总数约2800个,将举办超过30场系列配套活动,35个国家(地区)和国…...

云计算在智能交通系统中的应用

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 云计算在智能交通系统中的应用 云计算在智能交通系统中的应用 云计算在智能交通系统中的应用 引言 云计算概述 定义与原理 发展历…...

b4tman / docker-squid 可快速安装运行的、容器型代理服务器 + podman

使用容器部署,省时省力。 使用镜像,目前的最大麻烦就是之前各大镜像源纷纷关闭,需要自己找到合适的、安全的镜像源。 幸好 docker-squid 推广在 ghcr.io,目前下载没有障碍。 注:ghcr.io 是 GitHub Container Registry …...

脉冲神经网络(Spiking Neural Network,SNN)学习(1)

目录 一、神经网络 1、神经元 2、激活函数 (1)常见的激活函数:Sigmoid函数 (2)常见的激活函数:ReLU(Rectified Linear Unit)函数 (3)常见的激活函数&…...

【疑难杂症】电脑休眠后无法开机,进入 steamVR 时电脑突然黑屏关机

问题描述 1.电脑休眠后无法启动,只能拔电源再启动 2.进入 steamVR 时,电脑突然断电黑屏关机(无蓝屏,无任何报错) 3.在进行渲染时,如R23等,电脑突然黑屏关机 4.进入 VRChat 时,准备进…...

HTML文件中引入jQuery的库文件

方法一: 1. 首先,在官方网站(https://jquery.com/)上下载最新版本的jQuery库文件,通常是一个名为jquery-x.x.x.min.js的文件。 2. 将下载的jquery-x.x.x.min.js文件保存到你的项目目录中的一个合适的文件夹中,比如将它保存在你的项…...

IntelliJ IDEA超详细下载安装教程(附安装包)

目录 IDEA的简单介绍一、下载IDEA二、安装IDEA三、启动IDEA并使用1.配置IDEA2.输出:"Hello World!" IDEA的简单介绍 IDEA 全称IntelliJ IDEA,是由 JetBrains 开发的一款广泛使用的集成开发环境(IDE)&#x…...

MySQL技巧之跨服务器数据查询:基础篇-更新语句如何写

MySQL技巧之跨服务器数据查询:基础篇-更新语句如何写 上一篇已经描述:借用微软的SQL Server ODBC 即可实现MySQL跨服务器间的数据查询。 而且还介绍了如何获得一个在MS SQL Server 可以连接指定实例的MySQL数据库的连接名: MY_ODBC_MYSQL 以及用同样的…...

深入剖析AI大模型:大模型时代的 Prompt 工程全解析

今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...

React第五十七节 Router中RouterProvider使用详解及注意事项

前言 在 React Router v6.4 中&#xff0c;RouterProvider 是一个核心组件&#xff0c;用于提供基于数据路由&#xff08;data routers&#xff09;的新型路由方案。 它替代了传统的 <BrowserRouter>&#xff0c;支持更强大的数据加载和操作功能&#xff08;如 loader 和…...

练习(含atoi的模拟实现,自定义类型等练习)

一、结构体大小的计算及位段 &#xff08;结构体大小计算及位段 详解请看&#xff1a;自定义类型&#xff1a;结构体进阶-CSDN博客&#xff09; 1.在32位系统环境&#xff0c;编译选项为4字节对齐&#xff0c;那么sizeof(A)和sizeof(B)是多少&#xff1f; #pragma pack(4)st…...

QMC5883L的驱动

简介 本篇文章的代码已经上传到了github上面&#xff0c;开源代码 作为一个电子罗盘模块&#xff0c;我们可以通过I2C从中获取偏航角yaw&#xff0c;相对于六轴陀螺仪的yaw&#xff0c;qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...

2024年赣州旅游投资集团社会招聘笔试真

2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表

##鸿蒙核心技术##运动开发##Sensor Service Kit&#xff08;传感器服务&#xff09;# 前言 在运动类应用中&#xff0c;运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据&#xff0c;如配速、距离、卡路里消耗等&#xff0c;用户可以更清晰…...

JavaScript基础-API 和 Web API

在学习JavaScript的过程中&#xff0c;理解API&#xff08;应用程序接口&#xff09;和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能&#xff0c;使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...

Unity VR/MR开发-VR开发与传统3D开发的差异

视频讲解链接&#xff1a;【XR马斯维】VR/MR开发与传统3D开发的差异【UnityVR/MR开发教程--入门】_哔哩哔哩_bilibili...

【把数组变成一棵树】有序数组秒变平衡BST,原来可以这么优雅!

【把数组变成一棵树】有序数组秒变平衡BST,原来可以这么优雅! 🌱 前言:一棵树的浪漫,从数组开始说起 程序员的世界里,数组是最常见的基本结构之一,几乎每种语言、每种算法都少不了它。可你有没有想过,一组看似“线性排列”的有序数组,竟然可以**“长”成一棵平衡的二…...

【51单片机】4. 模块化编程与LCD1602Debug

1. 什么是模块化编程 传统编程会将所有函数放在main.c中&#xff0c;如果使用的模块多&#xff0c;一个文件内会有很多代码&#xff0c;不利于组织和管理 模块化编程则是将各个模块的代码放在不同的.c文件里&#xff0c;在.h文件里提供外部可调用函数声明&#xff0c;其他.c文…...