之前此HTTP库被我安利了很多次(查看相关博客),由于种种原因,现在决定开源出来,基于Apache协议。
这个协议代表什么呢?看图。
GITHUB地址开源的2.2.0.0版本变更
相比上个开放的版本(2.0.0.0),主要有如下更新:
- 响应内容增加
RawStringResult
、RawBinaryData
、RawStream
属性 - 增加统一的处理接口,就算响应为40x处理错误,也可以获得对应的JSON返回错误
HttpContext
增加扩展函数SetAcceptJson
、SetAcceptXml
、RequestRange
扩展函数HttpContext
增加PreviewResponseHeader
、ValidateResponseHeader
、ResponseContentObjectIntialized
事件HttpResponseContent
增加PreContentProcessed
、PostContentProcessed
事件- 去除
TypeInit
,所有依赖扩展包将要求手动加载 - 修正
Post<T>
函数默认ContentType
为FormData
的BUG - 删除
HttpContext
的Acquire*
函数
鱼大,我们有个接口要求使用TLS 1.2协议来请求,能否请教下 FSLIB.NETWORK 怎么发送请求呢。
这个库是对.NET框架中HttpWebRequest的封装。所以情况和你直接用HttpWebRequest是一致的。
不适合初学者,说明没有,案例看不懂。讲点适合初学者的吧,搞了几天异步不是这不行就是那不行
是否可以提供类似于Fiddler的Composer的功能, 直接发送原生的Raw Request出去. 内容就直接是string.
dotnet core 有计划支持吗?
谢谢鱼老大的优秀开源项目,fork
非常感谢提供这么优秀的扩展库。麻烦问一下PUT模式怎么提交呢?完全没找到头绪,能否给个例子呢?
和POST是一样的,只不过HttpMethod用PUT。如果没有便捷函数的话,可以用 Create<> 函数
var data1 = new Dictionary<string, object>()
{
["name"] = "132456",
["sex"] = "1",
["province"] = "",
["city"] = "-1",
["mobile"] = "",
["introd"] = "2015-08-25"
不知道我这里哪里写错了,提交时候报错
,麻烦指点一二,非常感谢
提交的是JSON的话,虽然写成字符串可以,但太累了。。。正确做法是提交的时候设置contenttype为Json,如果都是这样的格式可以修改HttpSetting中的DefaultRequestContentType设置。后面有时间的话确实要完善文档了。。。有问题的话去 http://ask.fishlee.net/category-21 提问哈,看到会及时回复的。
网页提交的是Json格式的,我就不会了~!大概是这样的,post的会~!put的就不会了~!
{"name":"测试","sex":"1″,"birthday":"2016-08-17″,"province":"天津市","city":"和平区","mobile":"13888888888″,"introd":"测试"}
知道怎么写了
var ctx2 = httpClient.Create(HttpMethod.Put, "http://123.com/api/v1/user/12456", data: "{\"name\":\"测试4569879aas\",\"sex\":\"1\",\"birthday\":\"2016- 08-17\",\"province\":\"天津市\",\"city\":\"和平区\",\"mobile\":\"13888888888\",\"introd\":\"测试\"}", isXhr: true);
这样写就可以了~!
后面要加isXhr: true的
正确做法是设置 ContentType 为 JSON。虽然手写字符串也行但太麻烦了啊。如果全是这种格式的话可以设置HttpSetting中的默认格式。看来是要抽时间写文档了。。。有问题可以在ask.fishlee.net那边问哈
哦哦,谢谢回复,刚开始接触c#不是很会~!
嗯嗯
多线程同时使用同一个HttpClient会怎么样
并不影响。HttpClient是线程安全的。
棒棒哒!!!!
哎哟哎哟整理后开源期待哟~~~之前一直使用那个.dll
期待您的自动更新开源!(必须十五个字)
自动更新一直是开源的啊:https://github.com/iccfish/FSLib.App.SimpleUpdater
,谢谢鱼老大