我用的版本:

简单封装一下:

using RestSharp;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;internal class RestSharpRequestHandler{private RestClient client;private RestRequest request;public int timeout=30 * 1000; //默认设置超时30spublic string Post(string url, string str, string content_type= "application/json; charset=UTF-8"){try{this.client = new RestClient(url);client.Timeout = timeout;client.ThrowOnAnyError = true;  //设置不然不会报异常this.request = new RestRequest();request.Method = Method.POST;request.AddHeader("Content-Type", $"{content_type}; charset=UTF-8");request.AddJsonBody(str);IRestResponse response = client.Execute(request);var content = response.Content;return content;}catch (Exception ex){return "连接服务器出错:\r\n" + ex.Message;}}public string Get(string url, string content_type = "application/json; charset=UTF-8"){try{this.client = new RestClient(url);client.Timeout = timeout;client.ThrowOnAnyError = true; //设置不然不会报异常this.request = new RestRequest();request.Method = Method.GET;request.AddHeader("Content-Type", $"{content_type}; charset=UTF-8");IRestResponse response = client.Execute(request);var content = response.Content;return content;}catch (Exception ex){return "连接服务器出错:\r\n" + ex.Message;}}}

这里对Get和Post进行了简单的封装。

对于超时我这里解释一下:

client.Timeout = timeout;
client.ThrowOnAnyError = true;  //设置不然不会报异常

首先是对RestClient的对象设置Timeout,

其次将ThrowOnAnyError设置为true,不然是捕获不到任何异常的!

RestSharp 使用(含超时处理)相关推荐

  1. 物业公司工作流应用方案

    [基本需求] 1.办公基本需求    企业要求办公自动化系统能适应不断变化的办公需求,提供解决公文处理等偏向个体的自动办公功能,还要求能解决单位之间.部门之间.管理人员之间信息交换与共享的需求.办公自 ...

  2. 基于Fabric的性能测试与调优实践

    1  Fabric 性能测试现状 通俗的来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本.比特币(Bitcoin). ...

  3. JAVA synchonized Lock类----简单总结笔记

    1.synchronized是java 内置关键字,Lock为一个 类. 2.synchronized 隐式得到锁,隐式释放锁,故而,运用起来更加方便,快捷. 3.Lock类如下: public in ...

  4. 基于STM32与NOR FLASH的SPI通信

      SPI的通信很容易实现,相比之下,驱动FLASH反而耗费了我学习SPI整个过程的大部分时间.下面是我学习过程的一些记录. 硬件平台:秉火ISO_V2开发板 实现功能:STM32使用SPI协议读写板 ...

  5. python程序下载大量天文学数据

    python程序下载天文学数据 文件下载模块 使用正则表达式检索下载链接 接下来就是批量下载了 总程序代码 文件下载模块 首先编写一个专门用于下载文件的函数 def downloadFile(name ...

  6. PAT (Advanced Level) 1132~1135:1132 模拟 1133模拟(易超时!) 1134图 1135红黑树

    1132 Cut Integer(20 分) 题意:将一个含K(K为偶数)个数字的整数Z割分为A和B两部分,若Z能被A*B整除,则输出Yes,否则输出No. 分析:当A*B为0的时候,不能被Z整除,输 ...

  7. 零基础AJAX入门(含Demo演示源文件)

    零基础AJAX入门(含Demo演示源文件) 作者:一点一滴的Beer  个人主页:http://www.cnblogs.com/beer 摘要:因为笔者的大四毕业设计是做WebGIS系统,用过Web版 ...

  8. C#.NET通过Socket实现平行主机之间网络通讯(含图片传输的Demo演示)

    C#.NET通过Socket实现平行主机之间网络通讯(含图片传输的Demo演示) 作者:一点一滴的Beer http://beer.cnblogs.com/ 在程序设计中,涉及数据存储和数据交换的时候 ...

  9. linux网络编程之socket(十一):套接字I/O超时设置方法和用select实现超时

    一.使用alarm 函数设置超时 C++ Code  1 2 3 4 5 6 7 8 9 10 11 12 13   void handler( int sig) { } signal(SIGALRM ...

最新文章

  1. win10 看不到其它计算机,w10网上邻居搜索不到其它电脑怎么办
  2. 又见奇葩乘客!醉酒男子与人发生冲突迫使飞机返航
  3. 汇编的8种寻址方式,以及2个默认段寄存器
  4. pycharm弹出提示信息Server's certificate is not trusted
  5. go语言学习笔记(2)命令源码文件
  6. Csharp+Asp.net系列教程(四)
  7. Spring :Sprin体系
  8. [leedcode 169] Majority Element
  9. 学习document.location.href和document.location.replace 区别
  10. 【人脸识别】基于matlab HOG特征提取人脸识别【含Matlab源码 641期】
  11. WEB开发技术 知识点总结
  12. mui框架从0到1【webapp开发教程】
  13. 电脑突然无法复制粘贴的问题
  14. 线性回归实战---Abalone鲍鱼年龄预测
  15. 微信小程序海报画布生成圆形头像
  16. PCM音频 I2S音频
  17. 【ES8系列】String 补白、格式化
  18. 电游入侵传统教育,用练级学习
  19. 用canvas画转动的阴阳鱼
  20. 小波变换的尺度函数和小波函数分析

热门文章

  1. tomcat原理简要分析,java
  2. QBasic语言程序设计 金怀群 pdf
  3. 单通道降噪—维纳滤波
  4. 华为最强科普(1):什么是集成电路?工艺/CPU/GPU又是哪路大神?
  5. 笔记本外接显示器掉帧解决方法
  6. 计算机专业毕业论文安卓毕业设计源码基于Uniapp+SSM实现的Android的健康食谱交流app[包运行成功]
  7. sftp上传和下载文件
  8. 基于JavaWeb的餐饮库存管理系统
  9. Shell编程之sed工具
  10. 小d课堂商业级全栈多端项目-小滴云在线教育平台-xiaoecf