C#使用RestSharp实现封装常用的http请求方法

 更新时间:2024年02月19日 10:59:02   作者:搬砖的诗人Z  
这篇文章主要为大家详细介绍了C#如何使用RestSharp实现封装常用的http请求方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下

Nuget安装RestSharp版本,不同版本之间的区别有很大,当前这个写法基于以下版本

示例代码

  public class APIHelper
  {
      private readonly string baseUrl = ConfigurationManager.AppSettings["connectionString"].ToString(); 

      /// <summary>
      /// http请求接口
      /// </summary>
      /// <param name="url">地址</param>
      /// <param name="data">数据,json格式化后的数据</param>
      /// <param name="method">方法 POST,或者get</param>
      /// <returns></returns>
      public string HttpRequest(string url, string data, Method method, string file = null)
      {
          try
          {
              var client = new RestClient(baseUrl + url);
              var request = new RestRequest(method);
              request.RequestFormat = DataFormat.Json;
              if (file == null)
                  request.AddHeader("Content-Type", "application/json");
              else
              {
                  request.AddHeader("Content-Type", "multipart/form-data");
                  request.AddHeader("user_id", UserCache.Current_UserId.ToString());
                  request.AddHeader("username", System.Web.HttpUtility.UrlEncode(UserCache.Current_UserName));
              }
              request.Timeout = 10000;
              if (data != null)
                  request.AddParameter("application/json; charset=utf-8", data, ParameterType.RequestBody);
              if (UserCache.CACHE_UserInfoModel != null)
                  request.AddHeader("authorization", "Bearer " + UserCache.CACHE_UserInfoModel.access_token);
              if (file != null)
                  request.AddFile("file", file);
              IRestResponse response = client.Execute(request);
              var responseContent = response.Content;
              return responseContent;
          }
          catch (Exception ex)
          {
              return null;
          }
      }
  }

接口调用

到此这篇关于C#使用RestSharp实现封装常用的http请求方法的文章就介绍到这了,更多相关C# RestSharp封装http请求内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 基于C#实现员工IC卡的读写功能

    基于C#实现员工IC卡的读写功能

    这篇文章主要为大家详细介绍了C#如何实现读写员工IC卡的功能,文中的示例代码讲解详细,对我们学习C#有一定的帮助,感兴趣的小伙伴可以跟随小编一起了解一下
    2023-01-01
  • C#实现Markdown内容转为Word或PDF

    C#实现Markdown内容转为Word或PDF

    Markdown作为一种轻量级的标记语言,因其简洁易读、语法清晰的特点被广大程序员和技术文档编写者所青睐,本文主要介绍了如何使用C#实现Markdown内容转为Word或PDF,需要的可以参考下
    2024-03-03
  • 详解C#的设计模式编程之抽象工厂模式的应用

    详解C#的设计模式编程之抽象工厂模式的应用

    这篇文章主要介绍了C#的设计模式编程之抽象工厂模式的应用,注意区分一下简单工厂模式、工厂方法模式和抽象工厂模式概念之间的区别,需要的朋友可以参考下
    2016-02-02
  • 亲自教你实现栈及C#中Stack源码分析

    亲自教你实现栈及C#中Stack源码分析

    大家都知道栈的实现方式有两种,一种是基于数组实现的顺序栈,另一种是基于链表实现的链式栈。这篇文章主要介绍了手把手教你实现栈以及C#中Stack源码分析,需要的朋友可以参考下
    2021-09-09
  • C#实现Ping的方法小结

    C#实现Ping的方法小结

    这篇文章主要介绍了C#实现Ping的方法,以两个实例形式形式较为详细的分析了C#实现ping功能的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-08-08
  • C#中使用CliWrap让命令行交互举重若轻

    C#中使用CliWrap让命令行交互举重若轻

    这篇文章介绍了C#中使用CliWrap让命令行交互举重若轻,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12
  • C#异步编程的三种模式

    C#异步编程的三种模式

    本文详细讲解了C#异步编程的三种模式,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • c#中的扩展方法学习笔记

    c#中的扩展方法学习笔记

    扩展方法能够向现有类型“添加”方法,而无需创建新的派生类型,重新编译或以其他方式修改原始类型。下面这篇文章主要给大家介绍了关于c#中扩展方法学习的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2018-11-11
  • C#利用LINQ实现一个文件拆分成多个文件的示例详解

    C#利用LINQ实现一个文件拆分成多个文件的示例详解

    在日常开发过程中,我们可能会遇到需要将一个大型文件拆分成多个小文件的需求,例如,为了便于传输、处理或备份,在C#中,我们可以利用LINQ技术来实现这一功能,下面我将详细介绍如何使用LINQ拆分文件,需要的朋友可以参考下
    2024-08-08
  • c#哈希算法的实现方法及思路

    c#哈希算法的实现方法及思路

    这篇文章主要介绍了c#哈希算法的实现方法及思路,有需要的朋友可以参考一下
    2013-12-12

最新评论