▲第二部分,软件脚本步骤说明▲:
如上图所示,这个登陆有的步骤蛮多的,
第一步是打开主网站,让软件有一个网站的缓存,这步比较重要,不然他网站POST的时候是会拦截的,原因也不知道,拦截那就得利用这个登陆COOKE进行登陆了,[浏览器COOKIE]打开后就会有这个变量调用,
第二步如上图所示,这个是GET他登陆网址,https://passport.tz1288.com/Account/login得到验证码地址,然后做采集,把这个验证码
<script type="text/javascript" src="https://api.geetest.com/get.php?gt=9104cb94250de0518027c4721c2d2bf8"></script>用软件的采集功能把地址给采回来,如下图所示,采回来保存变量为gt,调用的时候是[gt]
然后第三步,如下图所示,我们做出验证码识别动作,提交识别的方法是这样的,其中这个[gt]变量是我们刚才提交的采集出来的,user=[文本框:极验账号]&pass=[文本框:极验密码]而这二个,是我们点开始上面的二个文本框调用的,其实输入验证码账号密码就可以识别出来,我这里只是说明一下做法而已。
把上面的识别做成软件表达式是这样的,
识别出来的结果,然后是调用出来用,如下图所示,这里识别出来,有二个代码,一个是challenge,一个是validate,这是二个调用出来的代码,也是识别后,所需要的二个参数。
采集上现在参数,那就可以提交登陆了,如下图所示,这样就可以登陆上,除非识别错了,不过这种验证码,基本是百分百可以识别出来的。如下图解说明:
因为有验证码,所以老规据,做一个判断,判断源码是登陆成功了没有。
然后就是放缓存到网页,再刷新网页,如下图所示,这二步就是为发帖准备的。
然后GET发帖网页,如果直接GET,发帖地址,是会被拦截的,所以我们这里仍然调用[浏览器COOKIE]
如果不是这样调用,那网页会拦截的,所以要如上图所示,这样调用GET发帖网页。
GET成功页面后,就可以采集加密TOKEN这个参数,和验证码地址,准备发帖识别验证码,和发帖解密参数。
最后就是POST提交这个发帖参数了,如上图所示。下面这些代码就是整个发帖所有过程源代码:
<% keyID=清空浏览器缓存35042
{清空浏览器缓存}
<模式>稳定模式</模式>
<备注>稳定模式</备注>{/清空浏览器缓存}
%>
<% keyID=打开网址54509
{打开网址}
<URL>https://passport.tz1288.com/Account/login</URL>
<超时>20</超时>
{/打开网址}
%>
<% keyID=POST动作-5941
{GET}
<网址>https://passport.tz1288.com/Account/Login</网址>
<COOKIE>[浏览器COOKIE]</COOKIE>
<HTTP头>自动</HTTP头>
<数据解码>UTF-8</数据解码>
<存入变量>OST返回数据</存入变量>
<备注>OST动作-5941</备注>
{/GET}
%>
<% keyID=采集-5411
{万能采集}
<规则>
<要采集的数据>[POST返回数据]</要采集的数据>
<分割代码> src="https://api.geetest.com/get.php?gt=</分割代码>
<结果中含有></结果中含有>
<结果中不含有></结果中不含有>
<开始部分></开始部分>
<结束部分>"></结束部分>
<查找></查找>
<替换为></替换为>
<采集补全><采集结果></采集补全>
<结果存入>变量</结果存入>
<存入>gt</存入>
</规则><备注>gt</备注>
{/万能采集}
%>
<% keyID=POST动作-7908
{GET}
<网址>http://jiyanapi.c2567.com/shibie?gt=[gt]&referer=https://passport.tz1288.com/Account/Login&user=[文本框:极验账号]&pass=[文本框:极验密码]&return=json&model=0&devuser=mmgg520</网址>
<COOKIE>自动</COOKIE>
<HTTP头>自动</HTTP头>
<数据解码>GBK</数据解码>
<存入变量>OST返回数据</存入变量>
<备注>识别</备注>
{/GET}
%>
<% keyID=采集-4893
{万能采集}
<规则>
<要采集的数据>[POST返回数据]</要采集的数据>
<分割代码>"challenge":"</分割代码>
<结果中含有></结果中含有>
<结果中不含有></结果中不含有>
<开始部分></开始部分>
<结束部分>"</结束部分>
<查找></查找>
<替换为></替换为>
<采集补全><采集结果></采集补全>
<结果存入>变量</结果存入>
<存入>challenge</存入>
</规则>
<规则>
<要采集的数据>[POST返回数据]</要采集的数据>
<分割代码>validate":"</分割代码>
<结果中含有></结果中含有>
<结果中不含有></结果中不含有>
<开始部分></开始部分>
<结束部分>"</结束部分>
<查找></查找>
<替换为></替换为>
<采集补全><采集结果></采集补全>
<结果存入>变量</结果存入>
<存入>validate</存入>
</规则>
<备注>validate</备注>
{/万能采集}
%>
<% keyID=倒计时-41280
{倒计时}<秒>10</秒><备注>倒计时10秒</备注>{/倒计时}
%>
<% keyID=POST动作-1504
{POST}
<网址>https://passport.tz1288.com/Account/AccountLoginPost</网址>
<COOKIE>自动</COOKIE>
<HTTP头>自动</HTTP头>
<OST数据>UserName={获取列表值}账号列表|账号|自动{/获取列表值}
&assword={获取列表值}账号列表|密码|自动{/获取列表值}
&GeetestValidate=[validate]
&GeetestChallenge=[challenge]
&GeetestSeccode=[validate]%7Cjordan</POST数据>
<数据解码>UTF-8</数据解码>
<存入变量>OST返回数据</存入变量>
<备注>登陆</备注>
{/POST}
%>
<% keyID=逻辑判断-6425
{如果}<逻辑>[POST返回数据]<不包含>"登录成功"</逻辑><否则跳转到结束>keyid=16942</否则跳转到结束>{/如果}
%>
<% keyID=账号列表12908
{切换列表}
<列表集合>
账号列表|否|下一行|0|
</列表集合>
{/切换列表}
%>
<% keyID=动作跳转66092
{动作跳转}
<当>直接跳转</当>
<条件>包含</条件>
<值></值>
<跳转到>keyid=清空浏览器缓存35042</跳转到>
<跳转频率>0</跳转频率>
{/动作跳转}
%>
<% keyID=16942
{否则}{/否则}
%>
<% keyID=16942else
{逻辑结束}{/逻辑结束}
%>
<% keyID=设置浏览器缓存44458
{设置浏览器缓存}
<缓存值>[COOKIE缓存]</缓存值>
{/设置浏览器缓存}
%>
<% keyID=打开网址5450938
{打开网址}
<URL>https://passport.tz1288.com/Account/login</URL>
<超时>20</超时>
<备注>打开刷新</备注>
{/打开网址}
%>
<% keyID=倒计时-6000076
{倒计时}<秒>3</秒><备注>倒计时3秒</备注>{/倒计时}
%>
<% keyID=POST动作-7777
{GET}
<网址>http://user.tz1288.com/SiteInternal/Product/Publish</网址>
<COOKIE>[浏览器COOKIE]</COOKIE>
<HTTP头>自动</HTTP头>
<数据解码>UTF-8</数据解码>
<存入变量>OST返回数据</存入变量>
<备注>获取</备注>
{/GET}
%>
<% keyID=采集-3363
{万能采集}
<规则>
<要采集的数据>[POST返回数据]</要采集的数据>
<分割代码>name="__RequestVerificationToken" type="hidden" value="</分割代码>
<结果中含有></结果中含有>
<结果中不含有></结果中不含有>
<开始部分></开始部分>
<结束部分>"</结束部分>
<查找></查找>
<替换为></替换为>
<采集补全><采集结果></采集补全>
<结果存入>变量</结果存入>
<存入>Token</存入>
</规则><规则>
<要采集的数据>[POST返回数据]</要采集的数据>
<分割代码>src="http://api.geetest.com/get.php?gt=</分割代码>
<结果中含有></结果中含有>
<结果中不含有></结果中不含有>
<开始部分></开始部分>
<结束部分>"</结束部分>
<查找></查找>
<替换为></替换为>
<采集补全><采集结果></采集补全>
<结果存入>变量</结果存入>
<存入>gt</存入>
</规则><备注>Token</备注>
{/万能采集}
%>
<% keyID=POST动作-790857
{GET}
<网址>http://jiyanapi.c2567.com/shibie?gt=[gt]&referer=https://passport.tz1288.com/Account/Login&user=[文本框:极验账号]&pass=[文本框:极验密码]&return=json&model=0&devuser=mmgg520</网址>
<COOKIE>自动</COOKIE>
<HTTP头>自动</HTTP头>
<数据解码>GBK</数据解码>
<存入变量>POST返回数据</存入变量>
<备注>识别</备注>
{/GET}
%>
<% keyID=采集-489315
{万能采集}
<规则>
<要采集的数据>[POST返回数据]</要采集的数据>
<分割代码>"challenge":"</分割代码>
<结果中含有></结果中含有>
<结果中不含有></结果中不含有>
<开始部分></开始部分>
<结束部分>"</结束部分>
<查找></查找>
<替换为></替换为>
<采集补全><采集结果></采集补全>
<结果存入>变量</结果存入>
<存入>challenge</存入>
</规则><规则>
<要采集的数据>[POST返回数据]</要采集的数据>
<分割代码>validate":"</分割代码>
<结果中含有></结果中含有>
<结果中不含有></结果中不含有>
<开始部分></开始部分>
<结束部分>"</结束部分>
<查找></查找>
<替换为></替换为>
<采集补全><采集结果></采集补全>
<结果存入>变量</结果存入>
<存入>validate</存入>
</规则><备注>validate</备注>
{/万能采集}
%>
<% keyID=POST动作-1883
{POST}
<网址>http://user.tz1288.com/SiteInternal/Product/Publish</网址>
<COOKIE>[浏览器COOKIE]</COOKIE>
<HTTP头>自动</HTTP头>
<POST数据>__RequestVerificationToken=[Token]
&Id=0
&Title=[URLUTF8编码]{获取列表值}总标题总内容|标题|自动{/获取列表值}[/URLUTF8编码]
&Price=150000
&Unit=%E5%8F%B0
&DefaultOneIndustryId=12
&DefaultTwoIndustryId=76
&ImagesUrl=[URLUTF8编码]{获取列表值}上传图片|1|自动{/获取列表值}[/URLUTF8编码]
&Content=[URLUTF8编码]{获取列表值}总标题总内容|内容|自动{/获取列表值}[/URLUTF8编码]
&QuantitySupply=1000
&PriceInstructions=1000
&PackingInstructions=%E4%B8%8D%E9%99%90
&LogisticsInstructions=%E5%9C%86%E9%80%9A
&DeliveryInstructions=%E4%B8%8D%E9%99%90
&geetest_challenge=[challenge]
&geetest_validate=[validate]
&geetest_seccode=[validate]%7Cjordan</POST数据>
<数据解码>UTF-8</数据解码>
<存入变量>POST返回数据</存入变量>
<备注>POST动作-1883</备注>
{/POST}
%>
<% keyID=请选择要切换的列表74617
{切换列表}
<列表集合>
标题1|否
总标题总内容|否
上传图片|否
标题2|否
内容2|否
分类全国|否
变量1|否
变量2|否
变量3|否
变量4|否
内容1|否
标题3|否
内容3|否
内容4|否
</列表集合>
<备注>请选择要切换的列表74617</备注>
{/切换列表}
%>
<% keyID=动作跳转33461
{动作跳转}
<当>直接跳转</当>
<条件>包含</条件>
<值></值>
<跳转到>keyid=POST动作-7777</跳转到>
<跳转频率>0</跳转频率>
<备注>动作跳转33461</备注>
{/动作跳转}
%>
这个脚本的验证码网站是JS嵌套调用的,所以一定要注意怎么采集,还有这个网站会拦截直接POST和GET的提交参数,所以我们需要调用网页打开开的缓存,[浏览器COOKIE]就是这个参数,需要灵活的调用,灵活的应用,模拟网页,然后用POST提交的综合应用。