HttpLib - 一个对 Http 协议进行封装的库
今日,在 Codeplex 上看到一个开源项目,对 Http 协议进行了封装,这下可以方便这些在 .NET 平台下访问 Web 服务器的同学们了,比如,从 Web 服务器抓取一个页面,使用 .NET 而不是借助浏览器向服务器发一个 Post 请求之类的操作,就可以直接调用一下实现好的方法了。
项目的地址:http://httplib.codeplex.com/
也可以直接到下载页面下载你需要的源代码或者编译完成的类库。
下载页面的地址:http://httplib.codeplex.com/releases/view/99620
项目比较新,所以下载量看来并不大。
项目的使用说明:
在项目的首页上有一个简短的说明,虽然简单,但是比较使用。
Project 说明
HttpLib 使得在 C# 中异步地访问 Web 服务器上的数据变得更加容易。 库中包含了将文件上传到服务器中以及从服务器下载页面的方法。
这个项目设计用来访问当前已经存在的 Web 服务。如果你计划创建新的包含服务器端和客户端的应用,建议考虑使用 WCF.
支持的 HTTP 方法
- GET
- POST
- Form Encoded
- Multipart File Upload
- PUT
- HEAD
- DELETE
示例
首先,在项目中引用 httplib 程序集。
在代码的开头部门,一般先 using 命名空间。
using Redslide.HttpLib
从服务器端获取内容。比如抓取页面。
Request.Get("http://google.com/",
result=>
{
Console.Write(result);
});
向服务器提交信息,使用 Post 方式。提交的参数使用一个对象表示。
Request.Post("http://testing.local/post.php", new {name="james",username="Redslide"},
result=>
{
Console.Write(result);
});
以 Post 方式提交信息,如果出现异常,捕获异常。

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);
});

HttpLib - 一个对 Http 协议进行封装的库的更多相关文章
- 使用delphi 开发多层应用(十六)使用XMLRPC 实现basic4android 远程调用RTC服务(讲述了RTC的特点,其底层通讯协议是自己封装SOCK 库,与kbmmw 的适合场合不完全一样)
RealThinClient (以下简称RTC) 也是一款delphi 多层开发的框架,由于其底层通讯协议是自己封装SOCK 库,抛弃了 大家诟病的indy,因此表现的非常稳定,效率也非常高, ...
- 【Node.js 自己封装的库 http_parse, libuv】
[Node.js 自己封装的库 http_parse, libuv] Node.js 介绍:一个网络框架,更多:http://www.oschina.net/p/nodejs 官网:http://no ...
- PHP 支持的协议/封装协议列表
附录 L. 支持的协议/封装协议列表 目录 文件系统 Socket HTTP 和 HTTPS FTP 和 FTPS PHP 输入/输出流 压缩流 Secure Shell 2 音频流 以下是 PHP ...
- PHP支持的协议和封装的协议
今天主要看了下PHP支持的协议和封装的协议,主要了解了一下PHP中的配置协议方面的东西,弄明白了以前比较模糊的stream_context_create()等上下文方法,还没有完全看完,先将自己的片段 ...
- 使用boost.python封装C++库
使用boost.python封装C++库 C++以高性能著称,但是编写较为复杂.而简洁是Python的强项.如果能珠联璧合,就能发挥两家之长.本文尝试用boost库的python模块封装C++ 前期准 ...
- 关于OkHttp–支持SPDY协议的高效HTTP库 com.squareup.okhttp
转载:http://liuzhichao.com/p/1707.html OkHttp–支持SPDY协议的高效HTTP库 柳志超博客 » Program » Andriod » OkHttp–支持SP ...
- Raknet是一个基于UDP网络传输协议的C++网络库(还有一些其它库,比如nanomsg,fastsocket等等)
Raknet是一个基于UDP网络传输协议的C++网络库,允许程序员在他们自己的程序中实现高效的网络传输服务.通常情况下用于游戏,但也可以用于其它项目. Raknet有以下好处: 高性能 在同一台计算机 ...
- STM32嵌入式开发学习笔记(二):将功能封装为库文件
将所有的函数都堆在main.c文件里不是好的选择,庞大的代码文件会是你维护的障碍,明智的做法是,一种功能封装到一个库文件里. 库文件就是你代码开始部分写的#include<xxxx.h>里 ...
- Blazor组件自做一 : 使用JS隔离封装viewerjs库
Viewer.js库是一个实用的js库,用于图片浏览,放大缩小翻转幻灯片播放等实用操作 本文相关参考链接 JavaScript 模块中的 JavaScript 隔离 Viewer.js工程 Blazo ...
随机推荐
- 上传图片HTML <form> 标签的 method 属性
<!DOCTYPE HTML><html><body> <form action="/example/html5/demo_form.asp&quo ...
- 深入理解JS异步编程二(分布式事件)
PubSub模式 从原生的js角度,我们要监听某事件的方法就是利用addEventListener方法,但是当我们的页面趋于复杂,比如要向某个元素添加多个处理事件,那么就要用一个封装函数汇集多个处理函 ...
- python(第五步django)
这是一个关于,web开发的库, 下一步需要重点掌握的是,网页跳转和数据展示,和面向对象的关系的重用的内容 1:目前掌握的是project 的创建,和app的创建, 2:
- UVM Top Testbench
top testbench在top_tb中包含进所有的文件,将DUT放在top_tb中(例化DUT),连接好各个端口,提供clk时钟和rst_n复位信号.最主要的是要给组件中的虚接口设置接口,一般是给 ...
- swift 代码添加按钮
var btn = UIButton(frame: CGRect(x: 200, y: 200, width: 100, height: 100)) btn.setTitle("jichen ...
- ubuntu 14 配置 tomcat
参考 http://www.linuxidc.com/Linux/2015-01/111119.htm
- iframe自动适应高度
iframe代码,注意要写ID <iframe src="test.html" id="main" width="700" heigh ...
- Redis和Memcached对比
Redis和Memcached对比 这两年 Redis火得可以,Redis也常常被当作 Memcached的挑战者被提到桌面上来.关于Redis与Memcached的比较更是比比皆是.然而,Redis ...
- 安卓 io流 写入文件,再读取的基本使用
1.布局 布局里面只有一个EditView,通过输入内容之后,当触发 onDestroy 方法时,将输入的数据存储在当前应用的data/data/files文件夹下. <?xml version ...
- ceph初步快速部署
一.基本情况:物理设备:4台惠普dl360,4个千兆网卡 4个1T盘操作系统统一为:CentOS 7.2.1511ceph版本:10.2.3ceph-deploy版本:1.5.36网络情况:192.1 ...