TC官方合作论坛

标题: http请求库,支持get、post、正则、执行js,有说明。 [打印本页]

作者: rainshine    时间: 2014-8-27 12:27
标题: http请求库,支持get、post、正则、执行js,有说明。
本帖最后由 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



作者: Linn    时间: 2014-8-27 12:58
很强大,支持了
作者: 如此美丽。    时间: 2014-8-27 15:36
  火前留名。
作者: rainshine    时间: 2014-8-27 16:17
如此美丽。 发表于 2014-8-27 15:36
火前留名。

火不了- -因为都觉得常规库很强大 用惯了。
作者: lidongxu    时间: 2014-8-27 16:57

作者: znyyjk    时间: 2014-8-27 18:24
怎么换头像了,这头像一点也不欢乐
作者: rainshine    时间: 2014-8-27 19:40
znyyjk 发表于 2014-8-27 18:24
怎么换头像了,这头像一点也不欢乐

那我再换回来。。今晚上抽空。
作者: YGV    时间: 2014-8-27 20:39
支持一个
作者: s52o1    时间: 2014-8-29 17:59
dddddddddddddd
作者: yanzehua    时间: 2014-8-30 03:20
就回家回家
作者: dear    时间: 2014-8-30 21:03

作者: 78213505    时间: 2014-8-30 21:10
看一看
作者: da1990    时间: 2014-8-31 14:44
http请求库 很强大
作者: yvyan    时间: 2014-9-1 13:54
很好很强大
作者: xf8725    时间: 2014-9-1 16:48
支持,谢谢分享
作者: 守护天使    时间: 2014-9-2 20:00
废话没有。
作者: binghu    时间: 2014-9-2 21:02
支持···
作者: 薇草天下    时间: 2014-9-2 22:23
回复看看是神马东东!!...
作者: 用心来    时间: 2014-9-3 09:15
哈哈厉害
作者: whoyeyang    时间: 2014-9-3 11:22
强烈支持!
作者: 用心来    时间: 2014-9-3 16:03
times**p()这里的*号是被河蟹了,还是函数名,还是指针?
作者: chinaxhb    时间: 2014-9-3 16:22
看看怎么样.
作者: smallduck218    时间: 2014-9-4 09:13
我感觉很好 非常的棒 继续加油
作者: sam7894604    时间: 2014-9-6 03:40
DoEvents()
類似易語言的處理消息,就是把控制權暫時交還給系統,等他處理完消息之後再回來。用在大循環裡特別好用。

请注明 线程内不要使用!
作者: sam7894604    时间: 2014-9-6 03:45
本帖最后由 sam7894604 于 2014-9-6 04:34 编辑
出现了个bug,if里面的traceprint挂了,完全不执行= =(汗,不知道是什么情况,反正我是没看出来代码错误,若有高人可以帮忙找出原因感激不尽。)

在TC里traceprint本身就是个关键字,关键字里面不能包含关键字的…

貌似我理解错,经测试4.430的TLL的调试输出好像都无效了!
作者: rainshine    时间: 2014-9-6 08:09
whoyeyang 发表于 2014-9-3 11:22
强烈支持!

谢谢
作者: rainshine    时间: 2014-9-6 08:10
用心来 发表于 2014-9-3 16:03
times**p()这里的*号是被河蟹了,还是函数名,还是指针?

和谐了。。。。time s**p
作者: rainshine    时间: 2014-9-6 08:10
smallduck218 发表于 2014-9-4 09:13
我感觉很好 非常的棒 继续加油

谢谢。
作者: rainshine    时间: 2014-9-6 08:11
sam7894604 发表于 2014-9-6 03:40
DoEvents()
類似易語言的處理消息,就是把控制權暫時交還給系統,等他處理完消息之後再回來。用在大循環裡 ...

多线程无所谓啊。
作者: rainshine    时间: 2014-9-6 08:11
sam7894604 发表于 2014-9-6 03:45
在TC里traceprint本身就是个关键字,关键字里面不能包含关键字的…

貌似我理解错,经测试4.430的TLL的调 ...

嗯好像是……很苦逼。
作者: rainshine    时间: 2014-9-6 08:11
sam7894604 发表于 2014-9-6 03:45
在TC里traceprint本身就是个关键字,关键字里面不能包含关键字的…

貌似我理解错,经测试4.430的TLL的调 ...

唉 我都懒得跟tc官方反映了。
作者: a1648004555    时间: 2014-9-6 09:48
ddddddddddddddddddddd
作者: sam7894604    时间: 2014-9-6 11:39
rainshine 发表于 2014-9-6 08:11
多线程无所谓啊。

短其间内,多线程会无所谓,程序运行长时间,就会莫名崩溃…

这是我写易的经验…
作者: sam7894604    时间: 2014-9-6 11:46
rainshine 发表于 2014-9-6 08:11
唉 我都懒得跟tc官方反映了。

4.430是我认为问题最多的版本之一...
作者: rainshine    时间: 2014-9-6 13:07
sam7894604 发表于 2014-9-6 11:39
短其间内,多线程会无所谓,程序运行长时间,就会莫名崩溃…

这是我写易的经验… ...

易语言不是用这个命令实现的。
作者: rainshine    时间: 2014-9-6 13:07
sam7894604 发表于 2014-9-6 11:46
4.430是我认为问题最多的版本之一...

。。。其实我也这么觉得,越改问题越多。感觉已经无奈了。
作者: sam7894604    时间: 2014-9-6 13:42
rainshine 发表于 2014-9-6 13:07
易语言不是用这个命令实现的。

我在猜这命令应该是调用 msvbvm60的函数
或是 PeekMessage...
作者: sam7894604    时间: 2014-9-6 13:43
rainshine 发表于 2014-9-6 13:07
。。。其实我也这么觉得,越改问题越多。感觉已经无奈了。

写个结构类得发两个版本...4.430 的TLL就无法调试输出
作者: 5142465    时间: 2014-9-6 13:44
gegdsgds
作者: rainshine    时间: 2014-9-6 14:04
sam7894604 发表于 2014-9-6 13:42
我在猜这命令应该是调用 msvbvm60的函数
或是 PeekMessage...

peekmessage.我研究过
作者: q765758576    时间: 2014-9-6 18:24
        q765758576
作者: windis    时间: 2014-9-8 09:52
谢谢分享。
作者: BloodyYoLmer    时间: 2014-9-10 00:55
牛逼啊
作者: 2596060677    时间: 2014-9-10 11:45
99999999999999999999
作者: yangzi88888    时间: 2014-9-13 09:48
http请求库
作者: tylong21    时间: 2014-9-13 14:44
kankan !!!!!!!!!!!
作者: lgrhpp    时间: 2014-9-15 10:57
支持一下。。。!!!!
作者: mx11    时间: 2014-9-16 22:40
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxsssssssssssssssssssssssssssssssssssssssssssssss
作者: wolis    时间: 2014-9-18 10:24
看上去好东西
作者: 6299843    时间: 2014-9-18 11:55
rainshine 一直支持你
作者: fqfq88    时间: 2014-9-19 08:06
asjlakdfefefe
作者: a837198    时间: 2014-9-19 18:50
嘿嘿,这个可以有!!...
作者: 王者天下JK    时间: 2014-9-19 21:09
支持哦
作者: whx1515    时间: 2014-9-20 10:10
好人 一生平安!!!!!!!!!!!
作者: 今晚七点半    时间: 2014-9-21 00:51
看看
作者: 米糖果    时间: 2014-9-21 02:20

作者: 放荡不羁恩恩    时间: 2014-9-21 14:18
、post、正则、执行j
作者: will3697    时间: 2014-9-21 20:16
看一看,瞧一瞧
作者: will3697    时间: 2014-9-21 20:16
看一看,瞧一瞧
作者: 东月山    时间: 2014-9-21 20:38
没啥说的先顶在下!!!!!!!!!!

作者: awlbm    时间: 2014-9-21 21:43
t73tt73t
作者: loking    时间: 2014-9-21 23:00
好东西
作者: awlbm    时间: 2014-9-22 04:30
用了后 包括例程  一运行 tc就直接挂掉。。。。
作者: awlbm    时间: 2014-9-22 07:09
本帖最后由 awlbm 于 2014-9-22 07:13 编辑

雨大姐  经测试  只支持4430tc版本 麻烦你弄一个支持4200的版本
作者: awlbm    时间: 2014-9-22 07:11
我的脚本在4330tc版本里面运行时  经常被报无缘无故不存在的错误提示!
作者: awlbm    时间: 2014-9-22 12:39
另外在多线程时  第10行有时候会报错
作者: 鱼头之王    时间: 2014-9-22 13:38

很强大,支持了
作者: rjsvictor    时间: 2014-9-22 14:54
看看!!!
作者: sd5248879    时间: 2014-9-22 17:22
我只想看源码
作者: hustmm    时间: 2014-9-22 17:51
1111111111111
作者: wanghq    时间: 2014-9-23 09:59
学习,学习
作者: q273814    时间: 2014-9-23 14:26
rainshine 发表于 2014-8-27 16:17
火不了- -因为都觉得常规库很强大 用惯了。

从来没用过 神马支持库常规库的 你有木有关互斥体的 我来用用你的
作者: 续花丶    时间: 2014-9-23 19:08
学习一下.
作者: jushunhe    时间: 2014-9-24 01:24
支持get、post、正则、执行js
作者: haizhen005    时间: 2014-9-24 07:04
看看学习一下
作者: huakeha    时间: 2014-9-24 09:14
天厉害了.....
作者: caohy    时间: 2014-9-24 15:42
123123123123
作者: winbei2010    时间: 2014-9-24 15:43
额,看看,收藏先
作者: inindexiaojie    时间: 2014-9-24 17:21
带复活集合
作者: z475547146    时间: 2014-9-25 18:38

作者: yuduo1983    时间: 2014-9-26 10:27
好啊,学习
作者: ljc1207    时间: 2014-9-27 20:34
看啊
作者: 烙之印    时间: 2014-9-29 10:36
收藏学习.
作者: 烙之印    时间: 2014-9-29 10:37
收藏学习.
作者: youss    时间: 2014-9-29 18:26
听我说是很不错的
作者: faithk    时间: 2014-9-30 22:29
看看
作者: zhangbohai    时间: 2014-10-8 10:44
非常需要,谢谢
作者: ok963963ok    时间: 2014-10-11 10:09

很强大,支持了
作者: luowen333    时间: 2014-10-13 01:46
《美丽姐脑残粉联盟》- 会长
作者: zh249883717    时间: 2014-10-14 08:03
强烈建议
作者: jxtiger    时间: 2014-10-14 10:13
的vvgefgfhefhbea
作者: xcxzj    时间: 2014-10-16 16:16
....
作者: shadow    时间: 2014-10-18 00:43
看卡啊爱爱爱
作者: jj632014819    时间: 2014-10-18 11:30
还有什么可以隐藏
作者: moxiangkelei    时间: 2014-10-18 21:49
支持下,不错哦
作者: wouinibaba1    时间: 2014-10-19 17:46
asdsgfdghjhgjkhkj;lk;l
作者: wouinibaba1    时间: 2014-10-19 17:46
asdsgfdghjhgjkhkj;lk;l
作者: adamyun    时间: 2014-10-23 09:48
看看学习下啊
作者: y三杨    时间: 2014-11-2 14:13
爱学习 爱辅助
作者: 5021214    时间: 2014-11-6 17:34
11111111111111




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1