java restsharp_RestSharp 一个.NET(C#)的HTTP辅助类组件「建议收藏」
大家好,又见面了,我是你们的朋友全栈君。
互联网上关于.NET(C#)的HTTP相关的辅助类还是比较多的,这里再为大家推荐一个.NET的HTTP辅助类,它叫RestSharp。RestSharp是一个轻量的,不依赖任何第三方的组件或者类库的Http的组件。RestSharp具有以下的优点:
支持.NET 3.5+,Silverlight 4, Windows Phone 7, Mono, MonoTouch, Mono for Android, Compact Framework 3.5等
通过NuGet方便引入到任何项目 ( Install-Package restsharp )
可以自动反序列化XML和JSON
支持自定义的序列化与反序列化
自动检测返回的内容类型
支持HTTP的GET, POST, PUT, HEAD, OPTIONS, DELETE等操作
可以上传多文件
支持oAuth 1, oAuth 2, Basic, NTLM and Parameter-based Authenticators等授权验证等
支持异步操作
极易上手并应用到任何项目中
以上是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.AddUrlSegment(“id”, “123”); // replaces matching token in request.Resource
// easily add HTTP Headers
request.AddHeader(“header”, “value”);
// add files to upload (works with compatible verbs)
request.AddFile(path);
var postdata = new
{
username = “yanyangtian”,
password = “123456”,
nickname = “艳阳天”
};
var json = request.JsonSerializer.Serialize(postdata);
request.AddParameter(“application/json; charset=utf-8”, json, ParameterType.RequestBody);
// execute the request
RestResponse 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();
RestResponse response2 = client.Execute(request);
var name = response2.Data.Name;
// easy async support
client.ExecuteAsync(request, response => {
Console.WriteLine(response.Content);
});
// async with deserialization
var asyncHandle = client.ExecuteAsync(request, response => {
Console.WriteLine(response.Data.Name);
});
// abort the request on demand
asyncHandle.Abort();
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/196048.html原文链接:https://javaforall.cn
相关文章
- java数组反转,Java数组反转
- java源程序文件扩展名_JAVA源代码的扩展名为( )
- 怎么让Java输入字符串_怎么让Java获取用户输入的字符串[通俗易懂]
- java的栈内存和堆内存_Java本地方法栈
- springboot基于微信小程序的在线办公系统+java+uinapp+Mysql
- trylock 用法_Java lock
- java app支付宝支付
- Java 里面 @InitBinder注解的使用原理
- GraalVM-云原生时代的JVM(Java)
- 把数字转换成人民币大写的形式Java类详解编程语言
- Java使用jxl.jar包写Excel文件的最适合列宽问题基本实现详解编程语言
- .NET/ASP.NET/C#/WCF/SQL Server/My SQL/Java/JSP/JDBC/Spring/Spring MVC/PHP/Python/Ruby/Shell/Agile/CSS/HTML/HTTP/Unix/Linux大量PDF书籍/电子书籍下载, Effective Java 下载详解编程语言
- Linux安装Java: 迈出第一步(linux上安装java)
- Java程序构建基于Redis的缓存系统(java用redis)
- 基于Redis的Java实现自动过期缓存(redisjava过期)
- 机制使用Redis Java实现有效过期机制(redisjava过期)
- 让Java桥接Linux新世界的重要性(java链接linux)
- Java数据库之MySQL学习使用教程(mysql中java教程)
- 实现Java认证让你离Oracle更近一步(java认证oracle)
- Java模拟Oracle实现稳定数据库性能(java模仿oracle)
- java使用任务架构执行任务调度示例
- java观感示例分享