推荐一个.NET(C#)的HTTP辅助类组件–restsharp
2016-03-31 09:19
507 查看
互联网上关于.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方便引入到任何项目
可以自动反序列化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),并得到返回结果。
最后是官方的应用示例,就是如下这么简单:
C#
支持.NET 3.5+,Silverlight 4, Windows Phone 7, Mono, MonoTouch, Mono for Android, Compact Framework 3.5等
通过NuGet方便引入到任何项目
可以自动反序列化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),并得到返回结果。
最后是官方的应用示例,就是如下这么简单:
C#
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | 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 // easily add HTTP Headers request.AddHeader("header", "value"); // add files to upload (works with compatible verbs) request.AddFile(path); // 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<Person> response2 = client.Execute<Person>(request); var name = response2.Data.Name; // easy async support client.ExecuteAsync(request, response => { Console.WriteLine(response.Content); }); // async with deserialization var asyncHandle = client.ExecuteAsync<Person>(request, response => { Console.WriteLine(response.Data.Name); }); // abort the request on demand asyncHandle.Abort(); |
相关文章推荐
- SSL证书常见错误和解决办法
- Linux tcpdump命令详解[转]
- Android EditText载入HTML内容(内容包括网络图片)
- ios 对于网络图片进行的一些处理
- HttpClient多线程并发问题
- 更新Xcode之后访问网络问题
- Tomcat启用HTTPS(生成证书、配置Tomcatserver)
- 《TCP/IP详解 卷1:协议》读书笔记(第一章 概述 & 第二章 链路层)
- Centos7网络配置
- 网络IO模型
- Http的持久连接(Keep-Alive模式)
- Linux GNOME or KDE系统设置中网络代理设置无效
- centos7网络配置,静态IP
- Linux 内核网络参数配置资料
- 海明码求解公式规律(转载自计算机网络高分笔记)
- Postman(网页调试)
- iOS监控网络状态并实时刷新界面数据
- TCP、UDP数据包传输
- TCP、UDP数据包传输
- AsyncHttpClient保持session