社区应用 社区服务 会员列表 统计排行 帮助 银行
  • 5171阅读
  • 139回复

[开源]鱼刺类_HTTPv5.0_稳定版本20(WinHttpAPI)网页访问新姿势完美封装

楼层直达
级别: 商业用户
发帖
311
铜币
5220
威望
0
E积分
0
技术积分
30
— 本帖被 iouioupp 执行加亮操作(2017-08-28) —
稳定版本:20 (2017-08-03)


* WinHttpW 为 WinHttpApi封装(推荐)
* WinHttpR 为 WinHttpRequest5.1 COM对象
* WinInet  为 WinInternet 封装


特别说明:
*参考了很多相关代码,完美封装而成。并经过测试和改进了很多微软本身留下的坑。无论是效率上还是稳定性上。不服来战!
*本次设计目的并非作为私人使用。所以命名没有采用前缀鱼刺标识。就是想出点货!`(+﹏+)
*封装命名习惯完全参照了WinHttpRequest。一些新手可能看着费劲(其实就是 Open Send 完事)但建议新手还是习惯下这样的面向对象调用方式。 对以后的开发思维有很大帮助。
*封装了三种不同的网页访问类库,可满足不同环境下的需求。*Auto模式:可自动补全必要协议头。(无需每次访问都添加一次常用协议头)
*AutoCookies模式:自动智能合并Cookie到内部,并可以自游灵活管理Cookies。(取/设/增/删/改)


更新记录:
' 版本20
'' 修正遇到另外一种不规范的Set-Cookie时AutoCookies=1-2/GetAllResponseCookies/GetResponseCookie无法正常解析的问题(WinhttpW/WinhttpR/WinInet)
'' 修正遇到不规范的Set-Cookie时AutoCookies=1-2/GetAllResponseCookies/GetResponseCookie无法正常解析的问题(WinhttpW/WinhttpR/WinInet)
'' 增加判断 没有执行Send或Send失败时 不会执行GetQuery(WinhttpW/WinInit)
'' 修正了在Open前设置带有帐号信息的代理时失败的问题(WinHttpR)
'' 修正DelRequestHeader删除协议头失败的问题(WinhttpR)
'' 修正遇到Content-Length: 0时执行GetStatus失败的问题(WinhttpW/WinInit)


' 版本19
'' 修正Auto自动补全必要协议头模式因微软留坑原因在某些情况下补全失败的问题(WinhttpW/WinInit)
'' 应易友的建议 调整了内部递归重定向跳转的最大限制为20次(WinhttpW/WinhttpR/WinInet)
'' 调整初始设置,避免执行Send出现连接失败(WinHttpW)
'' 修正了在某些情况下崩溃的问题(WinhttpW/WinInit)
'' 改善了Send重试机制,只在某些特定情况下执行Send重试(WinhttpW/WinInit)


' 版本18
'' 对内部自动重定向也继承了Send重试机制(WinhttpW/WinInet)
'' 修正和改善了空值和带有删除标记Cookie的自动合并更新机制(WinhttpW/WinhttpR/WinInet)
'' 修正了Base64编码失败问题


插图:








Ps:版本20为修正版 感谢小伙伴们的热心测试和建议
讲道理Winhttp系列并不是特别强大的库 比如它是依赖于微软的IE 所以在某些奇葩的机器上可能会出问题 又比如Winhttpapi的连接延迟关闭问题
所以有空会把现在热门的且超稳定靠谱的Hp-Socket设计封装一份http访问类库
设计者:Bints
QQ:521573
QQ交流群:87555687


模块源码及例程下载: 鱼刺类_HTTPv5.0_版本20.zip (226 K) 下载次数:894
本帖最近评分记录: 22 条评分 铜币 +42
mmmww3 铜币 +1 01-25 优秀文章,支持!n神马都是浮云
qhaiq 铜币 +1 01-24 优秀文章,支持!n神马都是浮云
elover2016 铜币 +1 2017-11-21 分享是一种美德!
chiny2008 铜币 +2 2017-11-21 优秀文章,支持!n神马都是浮云
shituo 铜币 +1 2017-09-25 太高大上了 学习成本太高,我还是放弃吧
wyd134 铜币 +3 2017-09-25 这个真的很强悍,用过才有发言权
grooveli 铜币 +5 2017-08-30 感谢楼主开源,绝对顶你!
bjaps 铜币 +3 2017-08-28 分享是一种美德!
苁茨芜茗 铜币 +3 2017-08-27 优秀文章,支持!n神马都是浮云
telnet 铜币 +1 2017-08-25 给你赞1个。我正好要学习这个。
发帖
100
铜币
121
威望
0
E积分
0
技术积分
0
只看该作者 沙发  发表于: 2017-08-03
Re:鱼刺类_HTTPv5.0_稳定版本20(WinHttpAPI)网页访问新姿势完 ..
非常支持!感谢分享!
级别: 商业用户
发帖
3315
铜币
4973
威望
0
E积分
0
技术积分
0
只看该作者 板凳  发表于: 2017-08-03
分享是一种美德!
发帖
916
铜币
1637
威望
0
E积分
0
技术积分
0
只看该作者 地板  发表于: 2017-08-03
Re:鱼刺类_HTTPv5.0_稳定版本20(WinHttpAPI)网页访问新姿势完 ..
非常支持!感谢分享!
级别: 商业用户
发帖
311
铜币
5220
威望
0
E积分
0
技术积分
30
只看该作者 4楼 发表于: 2017-08-03
Re:鱼刺类_HTTPv5.0_稳定版本20(WinHttpAPI)网页访问新姿势完 ..
妈个叽儿 居然无法直接复制粘贴原帖内容 排版直接乱成巴拉拉了 害得我又从新操作了一遍
级别: 商业用户
发帖
105
铜币
193
威望
0
E积分
0
技术积分
0
只看该作者 5楼 发表于: 2017-08-03
Re:鱼刺类_HTTPv5.0_稳定版本20(WinHttpAPI)网页访问新姿势完 ..
谢谢鱼刺大神分享
级别: 托儿所
发帖
5
铜币
0
威望
0
E积分
0
技术积分
0
只看该作者 6楼 发表于: 2017-08-03
Re:鱼刺类_HTTPv5.0_稳定版本20(WinHttpAPI)网页访问新姿势完 ..
火山移动并不好用.很失望..
级别: 商业用户
发帖
3641
铜币
4854
威望
0
E积分
0
技术积分
0
只看该作者 7楼 发表于: 2017-08-03
优秀文章,支持!n神马都是浮云
级别: 幼儿园
发帖
39
铜币
665
威望
0
E积分
0
技术积分
0
只看该作者 8楼 发表于: 2017-08-03
感谢楼主开源,绝对顶你!
级别: 商业用户
发帖
454
铜币
19
威望
0
E积分
0
技术积分
0
只看该作者 9楼 发表于: 2017-08-03
优秀文章,支持!n神马都是浮云
快速回复

限60 字节
批量上传需要先选择文件,再选择上传
 
认证码:
上一个 下一个