HTML5技术

SuperWebClient -一个基于CURL的.NET HTTP/HTTPS模拟神组件(1) - ByteWorke

字号+ 作者:H5之家 来源:H5之家 2017-02-28 12:01 我要评论( )

我们都知道,不管你是做爬虫也好,采集工具也罢,它们的HTTP/HTTPS模拟访问总是一个基础问题, 我估计有很多人和我一样,虽然这样,那样的内置或是第三方类库用了很多,却总是会有一些不如意的问题存在, 亦或是BUG,或是其它功能上的缺陷,今天我给大家带来

 我们都知道,不管你是做爬虫也好,采集工具也罢,它们的HTTP/HTTPS模拟访问总是一个基础问题,
我估计有很多人和我一样,虽然这样,那样的内置或是第三方类库用了很多,却总是会有一些不如意的问题存在,
亦或是BUG,或是其它功能上的缺陷,今天我给大家带来一份礼物,也是我多年工作和软件开发累计的结晶之一
SuperWebClient,它是基于C语言的老牌开源协议模拟库CURL,我想做PHP的同学不会陌生,玩LINUX类系统的
同学也不会陌生。
       我也做了很长时间的采集工具平台软件,所以对所有对此有需求的同学所遇到的种种问题也是深有体会,不过
有了我今天带来的这个小玩意,相信,你将不会在头疼。SuperWebClient是基于-C语言老牌的CURL库+LIBCURL.NET
的.NET封装,不过LIBCURL.NET这个开源作者已经很久没有更新,我的工作也是站在前人的结晶上进行一些深度的改进
和组装,以期达到自己用起来简单,方便,称手,我也在长时间的使用和打磨,所以现在已经很稳定,也非常高效
,当然,你需要自己引入到你的项目中使用才能感受它的好处。
        作为这个主题的开篇,我演示一段使用SuperWebClient的代码,非常的简单.

private void button1_Click(object sender, EventArgs e) { // 首先构建一个 嗨 对象-也就是模拟访问的输入对象 HttpInput hi = new HttpInput(); // 需要初始化这个hi,设置是否启用HTTP 1.1,后面是连接和传输超时设定(秒) HttpManager.Instance.InitWebClient(hi, true, 60, 60); // 接下来就是设置访问的URL,和其它譬如UserAgent,Cookies,Proxy....等等各种特性的设置 // 一般,我们就设置Url 访问路径,其它都是在有需要的时候设置就可以了 hi.Url = ; // 有输入对象,就有对应的输出对象-注意,这个方法是阻塞的,只到结果反馈回来 // 所以,你可以把代码放入独立的线程或是线程池中进行数据的采集 HttpOutput ho = HttpManager.Instance.ProcessRequest(hi); if (ho.IsOK) { // 如果HO的标志IsOK成立,则页面访问是成功的,否则就是页面访问失败 // 遇到失败-你可以自己做后续处理,比如重发起请求或是写LOG richTextBox1.Text = ho.TxtData; } else { richTextBox1.Text = ; } // 最后销毁对象 hi.Dispose(); }

工程引入

 

所有的操作已经完成,点击按钮,获得操作结果

 

是不是很简单,相信有了这个小组件,相关的工作将会变的很轻松!主要注意的是,由于底层是基于C的库,所以发布的项目需要包含msvcr100d.dll 这个C的运行期库一起,

 

后面我会通过一系列实例教程,来教大家分析协议,抓包,并使用SuperWebClient模拟组件的其它个方面。
有任何问题可以 QQ群 180686092 交流

附件下载 ?mod=viewthread&tid=3&extra= 包含完整的组件下载,使用教程,心得和源代码分享

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 如何一秒钟从头构建一个 ASP.NET Core 中间件 - Savorboard

    如何一秒钟从头构建一个 ASP.NET Core 中间件 - Savorboard

    2017-02-23 16:01

  • 利用canvas来绘制一个会动的图画,欢迎指教 - 一混五六年

    利用canvas来绘制一个会动的图画,欢迎指教 - 一混五六年

    2017-02-22 10:00

  • 博客园自定义之博客园公告栏添加时钟——利用canvas画出一个时钟 - Devil_lixu

    博客园自定义之博客园公告栏添加时钟——利用canvas画出一个时钟 - D

    2017-02-16 13:01

  • 基于canvas的二维码邀请函生成插件 - ppk2

    基于canvas的二维码邀请函生成插件 - ppk2

    2017-02-16 12:00

网友点评