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请求内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

最新评论