今天介绍一个很好用的Http请求类库--Httplib。一直以来,我们都是为了一次web请求,单独写一段代码
有了这个类,我们就可以很方便的直接使用了。
项目介绍:
http://www。suchso。com/UIweb/jquery-Plupload-use.html
基于C#语言,Httplib让异步交互处理数据更容易了。类库的方法包括:上传文件到服务器,获取页面数据。
该项目专门为web服务写的,如果你打算重新写一个http客户端和服务端的话,建议你使用wcf。
最新代码下载:http://jthorne.co.uk/blog/httplib/building-a-windows-store-class-library-for-httplib/
支持的方法有:
-
GET
-
POST
-
PUT
-
HEAD
-
DELETE
-
Upload - PUT or POST
用法:
引用dll
using Redslide.HttpLib
从web服务获取数据
Request.Get("http://jthorne.co.uk/", result=> { Console.Write(result); });
从服务器下载数据
Request.Get("http://cachefly.cachefly.net/100mb.test", (headers, result) => { FileStream fs = new FileStream(@"C:100mb.test", FileMode.OpenOrCreate); result.CopyTo(fs); fs.Close(); });
Post数据给web服务
Request.Post("http://testing.local/post.php", new {name="james",username="Redslide"}, result=> { Console.Write(result); });
Post数据给web服务,并且捕获异常
Request.Post("http://testing.local/post.php", new { name = "value"}, result=> { Console.Write(result); }, e=> { Console.Write(e.ToString()); });
上传文件到服务器
Request.Upload("http://testing.local/post.php", new {name = "value"}, new[] { new NamedFileStream("file", "photo.jpg", "image/jpeg", new FileStream(@"C:photo.jpg",FileMode.Open)) }, result=> { Console.Write(result); });
用起来还是很简单的。这样分装好的类库,大大的减少了我们的工作量,并且因为有团队维护和很好的异常处理,
减少bug的产生。当然你要是不放心,你可以阅读源代码,重新编译。源代码下载地址:http://httplib.codeplex.com/SourceControl/latest