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

时间: 2024-07-30 20:16:44

HttpLib - 一个对 Http 协议进行封装的库的相关文章

使用delphi 开发多层应用(十六)使用XMLRPC 实现basic4android 远程调用RTC服务(讲述了RTC的特点,其底层通讯协议是自己封装SOCK 库,与kbmmw 的适合场合不完全一样)

    RealThinClient (以下简称RTC) 也是一款delphi 多层开发的框架,由于其底层通讯协议是自己封装SOCK 库,抛弃了 大家诟病的indy,因此表现的非常稳定,效率也非常高,深受很多人的追捧.由于RTC 是从底层通讯做起的,因此通讯层的 功能非常强,但是在中间层数据库功能虽然有所实现,但是没有kbmmw 和RO 强,但是对于普通的远程调用做的非常优雅. 同时它重点在于使用http 协议实现功能调用,因此与kbmmw 的适合场合不完全一样. 由于RTC 可以非常快速的建立

【C/C++学院】0802-链式栈/链表队列以及优先队列/封装链表库

链式栈 // stacklinknode.h #define datatype int struct stacknode { int num;//编号 datatype data;//数据 struct stacknode *pNext;//指针域 }; typedef struct stacknode StackNode;//简化 StackNode * init(StackNode * phead);//初始化 StackNode * push(StackNode * phead, int

关于OkHttp–支持SPDY协议的高效HTTP库 com.squareup.okhttp

转载:http://liuzhichao.com/p/1707.html OkHttp–支持SPDY协议的高效HTTP库 柳志超博客 » Program » Andriod » OkHttp–支持SPDY协议的高效HTTP库 posted in Andriod, Life on 2013/07/16 by liuzc Android为我们提供了两种HTTP交互的方式: HttpURLConnection 和 Apache HTTP Client,虽然两者都支持HTTPS,流的上传和下载,配置超时

iOS-二进制协议的封装

对于在SDK socket通信时会存在二进制协议的通信模式,对于此根据以往的工作内容进行小结: 首先在socket通讯中可以有字符串协议和二进制协议,通过协议来达到通讯的目的.对于字符串协议就是通过字符串来制定通讯的标准模式是"string"-"value"模式,通过XML或者json来达到网络传输,解析封装也是基于XML或者json进行信息提取. 对于二进制协议,在C语言是通过struct对协议进行封装,在iOS中使用的是OC,在OC中你也可以通过C语言对二进制协

Raknet是一个基于UDP网络传输协议的C++网络库(还有一些其它库,比如nanomsg,fastsocket等等)

Raknet是一个基于UDP网络传输协议的C++网络库,允许程序员在他们自己的程序中实现高效的网络传输服务.通常情况下用于游戏,但也可以用于其它项目. Raknet有以下好处: 高性能 在同一台计算机上,Radnet可以实现在两个程序之间每秒传输25,000条信息: 容易使用 Raknet有在线用户手册,视频教程.每一个函数和类都有详细的讲解,每一个功能都有自己的例程 跨平台,当前Raknet支持Windows, Linux, Macs,可以建立在Visual Studio, GCC, Code

关于php支持的协议与封装协议

1 <?php 2 3 /* 4 * php://stdin 标准输入流 5 * php://stdout 标准输入流 6 * php://stderr 标准错误流 7 * php://output 只写的数据流 8 * php://fd 允许直接方位文件描述符 9 * 10 * php://memory 允许读写临时数据 php://memory 和 php://temp 都是允许读写的临时数据,他俩的唯一区别是 php://memory 总是把数据存在内存中 11 * 而php://temp

封装ADO库之MFC应用

Microsoft Activex Data Objects(ADO)支持用于建立基于客户端/服务器和web的应用程序开发的主要功能.其主要优点是易于使用.高速度.低内存支出和占用磁盘空间较少. 本次封装的CadoInterface类仅针对MFC的使用,目的是优化对ADO的操作,避免频繁写try catch(...)以及在连库.开表.写数据.读数据等过程中一些重复性的工作.该类仅对一些常用的操作进行封装,用户可以根据需要进行修改和扩展. 封装类主要包括:基本操作.增值操作.支持算法与支持结构.基

封装Js库从获取控件的value值开始

<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <script type="text/javascript" > function show() { var _value = document.getElementById("text_1").value

封装静态库与Framework

IOS使用Xcode5制作静态库详解:http://blog.sina.com.cn/s/blog_9693f61a0101dgwc.html 关于静态库.动态库的区别汇总:http://blog.csdn.net/stackhero.article/details/903299 Xcode6制作动态及静态Framework:http://www.cocoachina.com/ios/20141126/10322.html ? ?