TC官方合作论坛

 找回密码
 立即注册
查看: 81010|回复: 472

[其他] http请求库,支持get、post、正则、执行js,有说明。

  [复制链接]
发表于 2014-8-27 12:27:53 | 显示全部楼层 |阅读模式

马上加入TC

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

x
本帖最后由 rainshine 于 2015-2-7 17:04 编辑

废话没有。说明:http://rblog.cc/archives/1045
链接: http://pan.baidu.com/s/1qWDNrDa 密码:
游客,如果您要查看本帖隐藏内容请回复

2月7日最新更新,V2015,更加稳定!最新POST课程报名中:http://bbs.tyuyan.com/forum.php?mod=viewthread&tid=48434
降温教程-POST
同步制作中文函数映射库,以http request库为主线。
开课时间:27日或8
报名截止:29日或10
上课时间:每晚8点(后续可能会根据大部分学员的需求调整至730左右,8点前后调整不超过半小时)
第一课:初见post
第一课时:结识post
第一节,       误区-post和xmlhttp到底什么关系?
第二节,       典型实例-你将学到?
第三节,       Tc内置命令实现最简单的请求代码(七中)
第二课时:所需工具简介
(此处暂不公布工具名…)
技巧-学会结合善用各种工具
第二课:POST请求实例
第一课时,尝试抓包并结识http request
第一节,       熟悉http watch (content)
第二节,       简单介绍httprequest.get  
第三节,       尝试使用http request库写上节课的代码
第二课时,开始写post请求代码
第一节,       post请求与get的代码不同之处
第二节,       抓包post获取ip详细信息-http://www.apnic.net/
第三节,       技巧-及时地停掉抓包
第四节,       结识post函数-代码coding!
第三课:尝试修改GETPOST的参数与数据处理
第一课时:get参数修改http://tool.chinaz.com/Tools/MD5.aspx
第一节,       修改参数-query string
第二节,       编码分析
第三节,       数据处理-mid函数出场
第二课时:post参数修改http://www.chazidian.com/ci/
第一节,       修改参数-post data
第二节,       编码分析
第三节,       技巧-利用百度搜索加解码
第四课:实战post登陆-太平洋电脑网
第一课时:老师讲授
第一节,       抓包
第二节,       写代码
第三节,       小技巧-故意登陆失败,错误密码
第二课时:动手coding
第一节,       动手写
第二节,       问题修正
第五课:为何密码是如此规律的“乱码”
第一课时:揭秘常用的md5加密
第一节,       md5加密的类型,简介
第二节,       实例
第二课时:参数中常见的token值从何而来-向上查找未知量
第一节,       token的用途以及常见的来源
第二节,       token应用实例
第三节,       技巧-提前打开抓包
第四节,       技巧-如何快速找到关键信息-find按钮
第六课:http header到底是什么
第一课时:http header揭秘
第一节,       通常有的header项目以及用途-header选项卡
第二节,       反制防盗链-referer实例
第二课时:关于神奇的cookie
第一节,       cookie的用途,来龙去脉-cookies选项卡
第二节,       cookie实战-保存登陆cookie实现登陆之后的操作
第三节,       小技巧-巧辨重要cookie值,剔除无关代码
第七课:尝试注册机
第一课时:基础知识铺垫
第一节,       什么是时间戳,及其通常用途与操作-times**p等函数
第二节,       验证码的下载-腾讯验证码的拉取(带cookie)
第三节,       技巧-快速找到符合你要求的请求-filter
第二课时:账号注册机实战!
第一节,       抓包
第二节,       动手
第八课:伪线程池
第一课时:线程池的应用
第一节,       什么是线程池,用途有多广泛,简单实现模仿线程池功能
第二节,       如何使你的线程池效率更高、更完善、更稳定
第二课时:线程池实例
第一节,       批量注册机的实现
第二节,       内部技巧-启动调试模式-open / close debug mode函数
第九课:全面介绍http请求
第一课时:抓包软件方面
第一节,       系统介绍stream选项卡
第二节,       系统介绍resp**e
第三节,       技巧-投机取巧的办法-fiddler抓所有进程的http包
第二课时:http request库方面
第一节,       使用的引擎详解-xmlhttp
第二节,       使用的引擎详解-winhttp
第三节,       这俩引擎的区别,以及为何选择winhttp
第四节,       揭秘库函数-winhttp.t文件内常用扩展函数-获得更多数据-实现更强大功能
第五节,       完整的post请求是如何写代码的
第十一课:认识正则表达式
第一课时:何为正则
第一节,       认识正则,了解表达式写法
第二节,       表达式元字符简介
第二课时:正则进阶
第一节,       子表达式
第二节,       见识用途与威力-实战写表达式匹配文本
第三节,       技巧-利用在线正则表达式匹配测试
第四节,       常用表达式分享
第十二课:正则表达式与代码结合
第一课时:正则写代码
第一节,       tc内置正则命令
第二节,       tc内置子表达式匹配命令
第三节,       误区-正则表达式复制到tc字符串注意转义字符
第二课时:http request库内的正则
第一节,       regex test
第二节,       regex replace
第三节,       regex match
第四节,       get match values与get submatch values
第十三课:实战巩固正则
第一课时:正则写批量采集代理ip
第一节,       抓包,分析数据
第二节,       写正则,调试正则
第三节,       技巧-如何让你的正则更加准确无误地匹配
第四节,       写代码(线程池的应用)
第二课时:学员动手coding
第一节,       写代码
第二节,       错误修正
第十四课:post常用技术辅导
第一课时:验证码解决方案
第一节,       介绍各种打码系统-uu云、打码兔
第二节,       介绍手机验证码-飞Q
第三节,       技巧-代码重用让你做项目更高效专注
第二课时:ip限制解决方案
第一节,       代理服务器ip
第二节,       Vpn代理-领航365
第十五课:js初识***
第一课时:js何等重要?
第一节,       什么是js,讲js有何用处,js加密的典例
第二节,       详细介绍firebug与ie调试人员工具
第二课时:js调试实例
第一节,       调试打断点找关键代码简单例子(仍在物色中…)
第二节,       技巧-零碎技巧

第十六课:js进阶***
第一课时,改写并执行js
第一节,       将上节课找到的代码块改写并复制
第二节,       Run js code函数详解
第二课时,剖析run js code函数
……
第十七课:js实战***
第一课时:js调试稍难实例(腾讯)
第二课时:写代码
第十五课:如何使你的产品更具人性化第十九课:其他工具软件操作方法
第一课时:charles
第二课时:http analyzer
第三课时:国产软件
……
第二十课:总结收尾
扩展-利用post可以干坏坏的事情。。。
=============================================================
目前公开的函数:
空间名:HTTPRequest
函数名:
GET(URL,&Cookies="",ProxyServer="",Referer="")
一键执行get请求,参数1是地址,参数2是请求的头信息里需要带上的cookie值,且会返回服务器响应的头信息里的cookie,参数3是http/https代理服务器(IP:Port的格式),参数4是请求的头信息里需要带上的referer值。
GET2(URL,&Cookies="",ProxyServer="",Referer="",Timeout=10)
函数功能同GET,此函数是新版的测试函数,下个版本将改名为GET,此函数用的是winhttp对象,多了一个参数是超时时间,不超时为-1,以秒为单位。
POST(URL,Text,&Cookies="",ProxyServer="",Referer="")
一键执行post请求,参数2是需要发送的body,字符串。其他与get相同。
POST2(URL,ContentString,&Cookies="",ProxyServer="",Referer="",Timeout=10)
函数功能与POST函数相同,此函数是新版的测试函数,下个版本将改名为POST,此函数用的是winhttp对象,多了一个参数是超时时间,不超时为-1,以秒为单位。
ShowImage(URL,ID_PictureBox,ID_ParentWindow="",ProxyServer="",&Cookies="",Referer="")
显示图片到图片框,通常用来显示验证码,参数1验证码地址,参数2图片框名,参数3父窗口名,参数4、5、6同GET函数。
ShowImage2(URL,ID_PictureBox,ID_ParentWindow="",&Cookies="",ProxyServer="",Referer="")
函数功能同ShowImage,此函数是新版的测试函数,下个版本将改名为ShowImage,此函数用的是winhttp对象,多了一个参数是超时时间,不超时为-1,以秒为单位。注意:此函数的参数Cookies和ProxyServer调换了位置!!!!也就是说与GET请求的参数顺序相同了,只不过是中间加了一个图片框id,父窗口id。
Times**p()
返回字符串类型的当前毫秒级时间戳。
RunJSCode(FileName,FuncName,Param0=null,Param1=null,Param2=null,Param3=null,Param4=null)
执行js代码,用于有js加密的post,先把他的加密的部分的代码保存到一个txt文件里,然后调用此函数,写上js代码里的函数名和参数,就能得到返回值。参数1是保存代码的文件名,参数2是函数名(js里的),参数3往后都是【js函数的】参数,写上js代码的函数需要的参数值就可以了,暂支持5个参数。
StrMid(Text,Begin,End="")
取字符串中间,例:HTTPRequest.StrMid("2345678","3","7")=="456"。注意:此函数与正则模式匹配不同,是使用字符串搜索来实现的,也就是说如果开头或结束的标志出现多次,则以首次出现为准。例如:StrMid("2345745678","3","7")=="45",不等于"457456"(有兴趣可以看看我以前的文章,匹配括号)。
encodeURI(Text)、decodeURI(Text)、escape(Text)、unescape(Text)
编码函数,狭义地简单说就是。。可以把一些符号和中文编码成带百分号的那种。。。。。
RegexMatch(RegularExpression,SourceString,&Result,IgnoreCase=false,Global=true,Multiline=true)
正则匹配,参数类似tc自带命令,参数1正则表达式,参数2源字符串,参数3返回一维数组结果(里面的值是对象,要调用GetRegexMatchValues才能得到真正的匹配结果字符串),参数4是【忽略】大小写,参数5是全局匹配(是否要匹配多个),参数6是否多行匹配,返回值是匹配到多少个。
GetRegexMatchValues(MatchArray)
根据RegexMatch函数的Result参数返回的数组,返回匹配到的【真正结果字符串数组】。
GetRegexSubMatchValues(MatchArray)
根据RegexMatch函数的Result参数返回的数组,返回子表达式匹配结果字符串【二维数组】,类似于tc的字符串api,正则子表达式匹配;不同的是,这个返回值是个二维数组!第一维表示的是整个表达式匹配到的数量,第二维表示的是整个表达式其中的第几个子表达式。可能有些难理解,举个简单的例子:(\d)www.baidu.com(\w),假设这个表达式匹配到100个结果,那么调用本函数,返回的数组大小就是:[100][2],然后数组的[0][1],就是匹配到的首个字符串中,(\w)这个子表达式匹配的结果,那么[10][0]就是匹配到的第11个字符串中,(\d)这个子表达式匹配的结果值。
PS:有人可能会问,艾玛这么麻烦这么难理解,我为什么还要用你的正则,你为嘛还要封装这个库,为什么不直接像tc那样整合成一个函数呢。
答:如果我封装的和tc一样那我封装了还有什么意义。。这样做虽然麻烦,但是确实灵活了不少。其实我本来还想把函数再细分,但是怕用起来麻烦,就斟酌了很久找了个这样的中和方案。等下个版本或者我有空了,把一些里面的函数公开出来之后,你就会发现regexmatch返回的result可以做很多事情- -不用再去匹配一遍浪费时间。
RegexReplace(RegularExpression,SourceString,ReplaceString,IgnoreCase=false,Global=true,Multiline=true)
正则替换,参数一表达式,参数2源字符串,参数3替换到的字符串,参数4、5、6同regexmatch函数。
OpenDebugMode()
开启debug模式,调试输出一些“看不到”的值,比如http status,resp**eheaders。目前仅使用xmlhttp对象的代码支持debug模式,且因为tc升级的原因(以前正常,tc4.430挂了),出现了个bug,if里面的traceprint挂了,完全不执行= =(汗,不知道是什么情况,反正我是没看出来代码错误,若有高人可以帮忙找出原因感激不尽。)所以现在改成了用msgbox,开启之后执行请求会弹出消息框,然后会阻塞在这里,直到你确定。大家谅解……下个版本修复这个函数。
CloseDebugMode()
关闭调试模式。
DoEvents()
类似易语言的处理消息,就是把控制权暂时交还给系统,等他处理完消息之后再回来。用在大循环里特别好用。
============================
到这就结束了。。。这么多东西全手打的累死我了,我忽然发现又有一个促使我开源的理由。。。不写帮助!直接上代码!哈哈。
希望多多支持。http://rblog.cc/
谢谢各位。午安。---rain


评分

参与人数 3威望 +15 金币 +16 收起 理由
h123456001 + 1 连接失效
q120629070 + 5 + 5 赞一个!
君笨笨 + 10 + 10 看看RR最近的动态

查看全部评分

回复

使用道具 举报

发表于 2014-8-27 12:58:59 | 显示全部楼层
很强大,支持了
回复 支持 反对

使用道具 举报

发表于 2014-8-27 15:36:03 | 显示全部楼层
{:soso_e103:}  火前留名。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-27 16:17:19 | 显示全部楼层

火不了- -因为都觉得常规库很强大 用惯了。
回复 支持 反对

使用道具 举报

发表于 2014-8-27 16:57:05 | 显示全部楼层
{:soso_e179:}顶
回复 支持 反对

使用道具 举报

发表于 2014-8-27 18:24:53 | 显示全部楼层
怎么换头像了,这头像一点也不欢乐
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-27 19:40:01 | 显示全部楼层
znyyjk 发表于 2014-8-27 18:24
怎么换头像了,这头像一点也不欢乐

那我再换回来。。今晚上抽空。
回复 支持 反对

使用道具 举报

发表于 2014-8-27 20:39:49 | 显示全部楼层
支持一个
回复

使用道具 举报

发表于 2014-8-29 17:59:46 | 显示全部楼层
dddddddddddddd
回复 支持 反对

使用道具 举报

发表于 2014-8-30 03:20:05 | 显示全部楼层
就回家回家
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-4-19 20:04 , Processed in 0.042268 second(s), 24 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

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