前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java restsharp_RestSharp 一个.NET(C#)的HTTP辅助类组件「建议收藏」

java restsharp_RestSharp 一个.NET(C#)的HTTP辅助类组件「建议收藏」

作者头像
全栈程序员站长
发布2022-10-29 12:39:51
5640
发布2022-10-29 12:39:51
举报

大家好,又见面了,我是你们的朋友全栈君。

互联网上关于.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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月8日 上,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档