restsharp.dll_restbed

restsharp.dll_restbed一、RestSharp简绍RestSharp是一个轻量的,不依赖任何第三方的组件或者类库的Http的组件。RestSharp具体以下特性;1、支持.NET3.5+,Silverlight4,WindowsPhone7,Mono,MonoTouch,MonoforAndroid,CompactFramework3.5等  2、通过NuGet方便引入到任何项目(In…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

一、RestSharp简绍

RestSharp是一个轻量的,不依赖任何第三方的组件或者类库的Http的组件。RestSharp具体以下特性;

1、支持.NET 3.5+,Silverlight 4, Windows Phone 7, Mono, MonoTouch, Mono for Android, Compact Framework 3.5等
  2、通过NuGet方便引入到任何项目 ( Install-Package restsharp )
  3、可以自动反序列化XML和JSON
  4、支持自定义的序列化与反序列化
  5、自动检测返回的内容类型
  6、支持HTTP的GET, POST, PUT, HEAD, OPTIONS, DELETE等操作
  7、可以上传多文件
  8、支持oAuth 1, oAuth 2, Basic, NTLM and Parameter-based Authenticators等授权验证等
  9、支持异步操作
  10、极易上手并应用到任何项目中

以上是RestSharp的主要特点,通用它你可以很容易地用程序来处理一系列的网络请求(GET, POST, PUT, HEAD, OPTIONS, DELETE),并得到返回结果

下面是官方的应用示例,使用起来简单快捷:

var client = new RestClient("http://example.com");
// client.Authenticator = new HttpBasicAuthenticator(username, password);

var request = new RestRequest("resource/{id}", Method.POST);
request.AddParameter("name", "value"); // adds to POST or URL querystring based on Method
request.AddUrlSegment("id", "123"); // replaces matching token in request.Resource

// add parameters for all properties on an object
request.AddObject(object);

// or just whitelisted properties
request.AddObject(object, "PersonId", "Name", ...);

// easily add HTTP Headers
request.AddHeader("header", "value");

// add files to upload (works with compatible verbs)
request.AddFile("file", path);

// execute the request
IRestResponse response = client.Execute(request);
var content = response.Content; // raw content as string

// or automatically deserialize result
// return content type is sniffed but can be explicitly set via RestClient.AddHandler();
IRestResponse<Person> response2 = client.Execute<Person>(request);
var name = response2.Data.Name;

// or download and save file to disk
client.DownloadData(request).SaveAs(path);

// easy async support
await client.ExecuteAsync(request);

// async with deserialization
var asyncHandle = client.ExecuteAsync<Person>(request, response => {
   Console.WriteLine(response.Data.Name);
});

// abort the request on demand
asyncHandle.Abort();

二、RestSharp应用实例

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
using RestSharp;

namespace RestFulClient
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Title = "Restful客户端第三方RestSharpDemo测试";
            //方法二、使用第三方RestSharp
            var client = new RestSharp.RestClient("http://127.0.0.1:7788");
            var requestGet = new RestRequest("PersonInfoQuery/{name}", Method.GET);
            requestGet.AddUrlSegment("name", "王二麻子");
            IRestResponse response = client.Execute(requestGet);
            var contentGet = response.Content;
            Console.WriteLine("GET方式获取结果:" + contentGet);

            var requestPost = new RestRequest("PersonInfoQuery/Info", Method.POST);
            Info info = new Info();
            info.ID = 1;
            info.Name = "张三";
            var json = JsonConvert.SerializeObject(info);
            requestPost.AddParameter("application/json", json, ParameterType.RequestBody);
            IRestResponse responsePost = client.Execute(requestPost);
            var contentPost = responsePost.Content;
            Console.WriteLine("POST方式获取结果:" + contentPost);
            Console.Read();
        }
    }

    [Serializable]
    public class Info
    {
        public int ID { get; set; }
        public string Name { get; set; }
    }
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/195840.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • plc梯形图编程入门基础知识_plc梯形图实例详解

    plc梯形图编程入门基础知识_plc梯形图实例详解​上升沿下降沿梯形图解析上升沿:上升沿就是此点从不通到通的过程,在PLC里面表现就是只通一次。举例:上图,当按钮1未按下的时候按钮1是断开的,此点不通,当按钮1被按下,按钮1导通,上面上升沿指令表示当按钮1按下去后,PLC只通一次,后面不管按钮1是否按下,整条线路都不通。下降沿:下降沿就是此点从通到不通的过程,在PLC里面就表现就是只通一次。举例:上图,当按钮1已经按下,按钮1已经导通,在按一次使按钮1瑞口,当按钮1从导通到断开,这条线路通一次,通了以后按钮1不管是通…

    2022年9月11日
    0
  • Ubutu/Debian使用 VSFTPD架设FTP服务器小结

    Ubutu/Debian使用 VSFTPD架设FTP服务器小结架设FTP服务器有好几次了,以前搭建好以后,没有记录操作的详细步骤,过阵时间又忘记了。此次架设FTP服务的需求要点:vsftpdmysql虚拟用户虚拟目录 只读用户 只写用户读写用户。1.安装软件:sudoapt-getinstallvsftpdlibpam-mysqlmysql-server安装MySQL过程中会询问MYSQL的root密码,输入两遍,以

    2022年7月21日
    9
  • PDMan-国产免费通用数据库建模工具(极简,漂亮)

    背景情况说明  本人长期以来一直从事于金融应用软件的研发以及项目实施工作,经常做数据库建模(数据表设计)。有一款称心如意的数据库建模工具,自然能够事半功倍,PowerDesigner的pdm模型为我的工作提供了很大的便利性。但电脑换了Mac系统之后,就只能在虚拟机Windows上使用PD,机器越来越吃不消了。PD是一款商业化优秀的建模工具。其设计初衷就是用作数据库建模,所以他必然是一款非常优秀的数…

    2022年4月17日
    67
  • Shiro框架详解[通俗易懂]

    Shiro框架详解[通俗易懂]1.Shiro框架详解一、Shiro能干什么&amp;nbsp;ApacheShiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能:&amp;nbsp;认证-用户身份识别,常被称为用户“登录”;授权-访问控制;密码加密-保护或隐藏数据防止被偷窥;会话管理-每用户相关的时间敏感的状态。对于…

    2025年7月17日
    0
  • Linux中pycharm如何进入虚拟环境

    Linux中pycharm如何进入虚拟环境网上有一种进入venv虚拟环境的方法,那今天就说另一种这种是已经在虚拟环境中了这种是没进入虚拟环境中进入虚拟环境需要这样输入sourceactivate然后就进入虚拟环境了…

    2022年8月27日
    2
  • java四舍五入成整数的方法

    java四舍五入成整数的方法    在java的Math类中,提供了许许多多的和数学计算有关的方法,其中也包括取整的,关于取整的有向下取整的floor(doubled)返回值double,rint(doubled),round(doubled)和round(floatf)。   但是,其中和四舍五入相近的方法只有rint和round方法,如果单独使用这两个方法的话,所得到的结果和我们预期的结果不一样,    比如r…

    2022年5月21日
    225

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号