乐易论坛-乐易网易语言培训教程火山PC视窗中文编程交流论坛

 找回密码
 立即注册

手机号登录

用手机号号登陆

微信登录

微信扫码,快速开始

QQ登录

用QQ账号登陆

办理VIP,定制软件,报名培训联系QQ请牢记揰掵佲的QQ号1615457736 1615457734 其他都是骗子易语言0基础入门课程
易语言汇编快速入门课程《64位某信Hook技术实战基础教程》【投稿课程】百日Js加密分析实战课程(无密下载)
【强烈推荐】《火山视窗0基础入门系列课程》《64位某信Hook技术实战进阶教程》【投稿课程】《0基础x64位游戏内存辅助开发教程 》
《火山视窗POST基础入门课程》《64位某信数据库操作课程》【投稿课程】广告位招租联系QQ1615457736
查看: 9912|回复: 4

[纯源码] (AntHTTP) 一个纯手工打造的精品HTTP访问模块

[复制链接]

[纯源码] (AntHTTP) 一个纯手工打造的精品HTTP访问模块

[复制链接]
已绑定手机
已实名认证
揰掵佲
等级头衔

等級:乐易运营组

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分成就
易币
贡献
主题
精华
金钱
积分
24315
注册时间
2014-8-2
最后登录
1970-1-1

勋章墙

2017-3-11 14:33:41 | 显示全部楼层 |阅读模式

据统计90%查看本帖的人,都已经注册本站了哦

您需要 登录 才可以下载或查看,没有账号?立即注册

×
(AntHTTP) 一个纯手工打造的精品HTTP访问模块
124_124727_f6911f8f9ed1103.jpg



看到易友反馈以前的模块,多线程下会崩溃。这段时间正好有时间,所以重构了模块,并取给它取了个名字AntHTTP(蚂蚁),寓意小巧灵活(手动滑稽)。

天下HTTP模块,唯快不破,接下来怎么说来着?



模块亮点:纯socket+OpenSSL打造,不含任何防腐剂(只用到核心支持库,直接底层ws2_32.dll进行发送,不经过其他dll、对象进行协议解析封装)


模块源码有些基础的都能看懂,除了_send()这个方法较复杂,其他的大部分都是哈希表的操作,提到哈希表,这里感谢一下开源作者:kyozy(酷宝贝)通用型哈希表HashTableT


本次更新做了一些改进


' -> 移除以前的Socket类、SSL类,改为命令调用模式
' -> 更换哈希表类
' -> 模块趋于稳定,多线程下暂无发现崩溃、内存溢出等情况
' -> 添加 RemoveAllCookie 移除全部cookies
' -> 添加 SetMaxLocal 设置最多重定向次数
' -> 添加 SetTimeouts 设置各类超时值
' -> 添加 GetLastError 取最后一次错误描述
' -> 添加 GetTicks 取关键点耗时时间(在哪个关键点上的分别运行耗时,看下面)


--------------------------
解析耗时:16ms
连接耗时:31ms
发送耗时:0ms
接收耗时:78ms
--------------------------
耗时总计:125ms
--------------------------

HTTP访问模块那么多,为什么还要重复造轮子?
  • 我说为了练手,你会相信吗?
  • wininet、WinHttpRequest 我也经常使用,但使用中都会碰到一些问题。
  • 为了打造一个出了问题,自己能快速排查的模块
  • 为了轻量,有些模块有很多命令,从来不会用到,只保留常见功能
  • 为了更高的效率,系统自带的无非也就那样了,你不可能从底层去更改它。而自己写,随着技术经验增长,效率方面还有无限可能。

说了那么多,稳定吗?
  • 本模块包里有专门的多线程测试,经过1万次访问http://localhost/,内存占用保持在2-4M之间(访问完毕回归到2M),不崩不溃。
  • 当然你换成www.baidu.com也是可以的,不过估计会被封掉IP。
  • 也不敢打包票说100%稳定,因为每个人的使用不同,估计也有意外的BUG。(说明问题,最好有demo,我会尽快修复)

不多说了,壮士,下载试试吧(能把分加满的,都不要吝啬,满足一下小小的虚荣心)


AntHTTP.rar (660.96 KB, 下载次数: 8)

-------1.2版 2016-12-07 下午更新-----
感谢“完美壹生”提出的几个文字上描述的问题。
感谢“wshq”、“lingxigege”,反馈的访问HTTPS页面,内存累计增长,不正常释放的问题。

' -> 修复内存累计增长问题(原因:某处申请了内存,而忘记了释放,属于逻辑错误,可能当时大脑短路了。)
' -> http访问时,socket接收数据,由原来的取空白字节集,改为申请内存(估计会提高效率)
' -> 修改哈希表备注错误 ,"取所以键" 改为 "取所有键"


别吝啬手中的分,统统的加过来(虽然没什么卵用)


AntHTTP1.2.rar (659.71 KB, 下载次数: 21)

下一步的准备开发异步请求、HTTP代理、自动识别字符集(非判断返回头),具体发布时间未知(需要研究一下这方面的资料)

回复

使用道具 举报

已绑定手机
已实名认证
sktyou
等级头衔

等級:顶级Vip

Rank: 14Rank: 14Rank: 14Rank: 14

积分成就
易币
贡献
主题
精华
金钱
积分
301
注册时间
2016-10-19
最后登录
1970-1-1

勋章墙

2017-3-12 17:59:25 | 显示全部楼层
太棒了,感谢楼主,Mrak一下
回复

使用道具 举报

已绑定手机
循环
等级头衔

等級:顶级Vip

Rank: 14Rank: 14Rank: 14Rank: 14

积分成就
易币
贡献
主题
精华
金钱
积分
228
注册时间
2016-6-20
最后登录
1970-1-1

勋章墙

2017-3-12 23:45:32 | 显示全部楼层
来学习一下。。。
回复

使用道具 举报

已绑定手机
已实名认证
mzhsohu
等级头衔

等級:程序设计师

Rank: 7Rank: 7Rank: 7

积分成就
易币
贡献
主题
精华
金钱
积分
4989
注册时间
2016-10-28
最后登录
1970-1-1

勋章墙

2017-3-13 20:31:59 | 显示全部楼层
太棒了,感谢楼主,Mrak一下
回复

使用道具 举报

已绑定手机
natianlianji09
等级头衔

等級:编程学徒

Rank: 3Rank: 3

积分成就
易币
贡献
主题
精华
金钱
积分
354
注册时间
2016-12-20
最后登录
1970-1-1

勋章墙

2017-3-18 14:57:50 | 显示全部楼层
太棒了,感谢楼主,Mrak一下
回复

使用道具 举报

如果懒得打字,请选择右侧内容快捷回复 提醒:以任何方式进行『恶意灌水』的行为,进行封号处理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

热点推荐上一条 /5 下一条

QQ|网站地图|手机版|小黑屋|乐易论坛-乐易网 | 湘ICP备19007035号

拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表乐易立场!

娄底市乐易网络科技有限公司声明:乐易原创培训课程版权均为我公司所有,未经许可,不得擅自翻录,盗版,破解本站课课程,我们将保留法律诉讼的权利

GMT+8, 2025-7-7 07:24 , Processed in 0.042388 second(s), 51 queries .

Powered by Discuz! X3.4

Copyright © Tencent Cloud.

快速回复 返回顶部 返回列表