马上加入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库为主线。 开课时间:2月7日或8日 报名截止:2月9日或10日 上课时间:每晚8点(后续可能会根据大部分学员的需求调整至7:30左右,8点前后调整不超过半小时) 第一课:初见post第一课时:结识post 第一节, 误区-post和xmlhttp到底什么关系? 第二节, 典型实例-你将学到? 第三节, Tc内置命令实现最简单的请求代码(七中) 第二课时:所需工具简介 (此处暂不公布工具名…) 技巧-学会结合善用各种工具 第二课:POST请求实例第一课时,尝试抓包并结识http request库 第一节, 熟悉http watch (content) 第二节, 简单介绍httprequest.get 第三节, 尝试使用http request库写上节课的代码 第二课时,开始写post请求代码 第一节, post请求与get的代码不同之处 第三节, 技巧-及时地停掉抓包 第四节, 结识post函数-代码coding! 第三课:尝试修改GET与POST的参数与数据处理第一节, 修改参数-query string 第二节, 编码分析 第三节, 数据处理-mid函数出场 第一节, 修改参数-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
|