首页 > 编程语言 >ASP.NET RestSharp帮助类 C# RestSharp帮助类

ASP.NET RestSharp帮助类 C# RestSharp帮助类

时间:2023-07-05 18:04:20浏览次数:52  
标签:string C# request 添加 var NET RestSharp 请求

  • .NETFramework版本: v4.7.2
  • RestSharp版本:110.2.1.0
  • 直接NuGet下载RestSharp直接用

  废话不多说直接上代码

  
using System.Collections.Generic;
using RestSharp;

namespace 命名空间
{
    public static class HttpClientHelper
    {
        private const string Url = "http://localhost:5000/";

        /// <summary>
        /// Http访问帮助类
        /// </summary>
        /// <param name="method">请求方式 Get Post Delete Put 等例(Method.Post)</param>
        /// <param name="action">请求方法</param>
        /// <param name="requestPrm">请求参数</param>
        /// <param name="requestHeader">请求头</param>
        /// <returns></returns>
        public static string Request(Method method, string action, string requestPrm = null,
            Dictionary<string, string> requestHeader = null)
        {
            var serviceUrl = Url + action;
            //1.首先创建一个 RestClient对象
            //serviceUrl是需要请求的地址
            var client = new RestClient(serviceUrl);
            //2.创建一个请求,这里可以指定请求的类型
            var request = new RestRequest { Method = method };
            //3.给请求加各种参数
            //添加头部信息
            if (requestHeader != null)
            {
                foreach (var req in requestHeader)
                {
                    request.AddHeader(req.Key, req.Value);
                }
            }

            //添加文件
            //也可以通过字节流的方式添加文件 AddFileBytes(string name, byte[] bytes, string filename, string contentType = "application/x-gzip")
            // request.AddFile("filePath", pdfPath);
            //添加参数
            if (!string.IsNullOrWhiteSpace(requestPrm))
            {
                request.AddBody(requestPrm);
            }

            // request.AddParameter("Timeout", options.Timeout.Value);
            //官网中还有好多添加参数的方法
            //可以查看该地址进行https://restsharp.dev/api/RestSharp.html#class-restrequest
            //4.执行请求,并获得返回值
            var restResponse = client.Execute(request);
            var result = restResponse.Content;
            //处理返回值序列化也进行了封装,可以直接调用方法
            //例如 Execute<Call>(request),可以直接将返回值序列化为对象
            //至此一个请求就发送接收成功了
            //使用起来还是比较方便的
            return result;
        }
    }
}
HttpClient

 


  

 

标签:string,C#,request,添加,var,NET,RestSharp,请求
From: https://www.cnblogs.com/hanyiblog/p/17529396.html

相关文章

  • RV1126 —— 配置adc并读取adc通道上传感器数值
    1.adc设备树配置一般来说,rk中已经封装好了标准adc的dts参数属性,我们要做的就是添加自己的adc通道,并引用标准接口即可,不同平台,标准dts中的adc节点名有所不同,其配置属性基本一样。例如:1)adc:adc@ff100000{compatible="rockchip,saradc";......
  • Visual Studio2019 BackgoroundImageLayout属性
    ​BackgroundImageLayout属性值背景图片重复:BackgroundImageLayout属性设置为Tile(默认)背景图片左边显示:BackgroundImageLayout属性设置为None背景图片右边显示:BackgroundImageLayout属性设置为None,同时RightToLeft属性设置为Yes背景图片居中显示:BackgroundImageLayout属性设......
  • static总结,抽象
    static总结,抽象static总结packagecom.oop.demo07;//staticpublicclassStudent{privatestaticintage;//静态变量privatedoublescore;//非静态变量publicvoidrun(){}//非静态方法可以包含静态方法publicstaticvoidgo(){}//静态......
  • 【12.0】前端基础JavaScript之DOM
    【12.0】前端基础JavaScript之DOM【一】什么是DOM/BOM截至目前为止,我们虽然已经学会了js语法,但是还是没办法跟浏览器进行交互BOM(BrowserObjectModel)浏览器对象模型js代码操作浏览器DOM(DocunmentObjectModel)文档对象模型js代码操作标签【二】Window......
  • HttpClient获取不到最新的系统代理
    默认情况下,HttpClient是默认采用系统代理,但是,如果你在程序运行过程中,手动修改系统代理,对于HttpClient是无效的,它依然会用老的代理去访问。解决方法使用下面的代码,你可以自己实例化一个IWebProxy对象,并将其传递给HttpClient,从而实现使用新的代理进行访问。vartype......
  • IDEA:MAVEN:Result Maps collection does not contain value for com.itheima.mapper.
    尝试过很多方法:我的代码与视频的一致仍然不可行。可以发现是mapper文件的错误后发现自己的资源文件下的包创建方式不对,尽管打的target包里仍然存在代码,仍是错误的。之后更改resource文件下包的命名方式用“/”来命名即可。   ......
  • C++中使用typedef定义的UNIT_PTR,LONG_PTR等
    在看代码时,发现有用到WPARAM,LPARAM,LRESULT我去找它们的定义,发现在C:\ProgramFiles(x86)\WindowsKits\10\Include\10.0.19041.0\shared\minwindef.h中,有如下定义/*Typesuseforpassing&returningpolymorphicvalues*/typedefUINT_PTRWPARAM;typed......
  • ASP.NET MVC PUT DELETE 404 C# mvc delete put 失败
    对于使用Url路由访问页面的ASP.NET应用程序,IIS可能会显示404,403之类的错误代码,而且排除了代码问题(本地运行正常),那么就可以加下面这句话:<system.webServer><modules><removename="UrlRoutingModule-4.0"/><addname="UrlRoutingModule-4.0"type="......
  • Nacivate 连接远程mysql时 报错 Lost connection to MySQL server at ‘reading initi
    出现这种报错首先要检查第一:查看mysql的配置文件 /etc/my.cnf,根据服务器的不同以及安装的mysql版本有的是配置文件/etc/mysql/conf.d/50.server.confstep1:注释bind-address=127.0.0.1这句step2:找到[mysqld]部分的参数,在配置后面建立一个新行,添加skip-name-resolve......
  • VScode 使用 Snippets
    创建模板脚本通过Ctrl+P触发命令行输入>snippets选择"配置用户代码片段",选择对应的项目,以及文件名称。这里创造一个vue页面模板:"Addnewtemplateofvue":{  "prefix":"newvuetemplate",  "body":[   "<template>", ......