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

接口调用
在这里插入图片描述

相关推荐

  1. .Net 封装Get/post方式HTTP请求--form-data

    2024-02-20 22:32:01       32 阅读
  2. 四种常见Http请求方式

    2024-02-20 22:32:01       27 阅读
  3. 【Typora 一些常用使用方法

    2024-02-20 22:32:01       72 阅读
  4. 常用scss工具方法封装

    2024-02-20 22:32:01       34 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-20 22:32:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-20 22:32:01       101 阅读
  3. 在Django里面运行非项目文件

    2024-02-20 22:32:01       82 阅读
  4. Python语言-面向对象

    2024-02-20 22:32:01       91 阅读

热门阅读

  1. 在 SQL Server 中编写函数以获取年加周的字符串

    2024-02-20 22:32:01       44 阅读
  2. 学会自幂数

    2024-02-20 22:32:01       55 阅读
  3. Leetcode 367. Valid Perfect Square

    2024-02-20 22:32:01       45 阅读
  4. Git面试题整理(基本点)

    2024-02-20 22:32:01       44 阅读
  5. centos8安装docker docker compose

    2024-02-20 22:32:01       53 阅读
  6. 用Dockerfile创建PostgreSQL数据库

    2024-02-20 22:32:01       53 阅读
  7. 习题2.3 old bill

    2024-02-20 22:32:01       46 阅读
  8. Python 实现Excel 文件合并

    2024-02-20 22:32:01       67 阅读
  9. 2024年刷题记录

    2024-02-20 22:32:01       57 阅读