前言
之前Mark
介绍过《利用Synology(群晖)Docker安装签到框架》 以及 《云服务器部署AMH数据库及qiandao.today》的教程,今天主要讲解高级使用教程,可能一次写不完,后期想到了会及时补充。
20210114
推荐工具
常用参数及过滤器
基础类
{{timestamp()}} 当前时间(12位时间戳) 返回:1539529645.79
{{date_time(True,True,0)}} 三种时间输出(是否日期,是否时分秒,时差[单位:小时])True真、False假) 返回:2021-1-18
{{quote_chinese("文本")}} URL编码输出-(缺省参数默认输出大写) 返回:%E6%96%87%E6%9C%AC
{{quote_chinese("文本")|lower}} URL编码输出-同上,输出变小写 返回:%e6%96%87%e6%9c%ac
{{md5("123456")|upper}} 明文转md5输出32位大写 返回:E10ADC3949BA59ABBE56E057F20F883E
{{md5("123456")|lower}} 明文转md5输出32位小写 返回:e10adc3949ba59abbe56e057f20f883e
{{md5(password)|lower}} 密码变量转md5输出32位小写 返回:????????????????????????????????
{{random(1,10000,0)}} 随机数(可含小数)参数依次为,最小数,最大数,位小数[为0输出整数]) 返回:1.5或8049.518
{{utf8("文本")}} 转 UTF8编码 返回:文本
内置类
{{ cookie }} Cookie参数
{{ username |urlencode}} 用户名参数
{{ password |urlencode}} 密码参数
{{ 其他参数 |urlencode}} 其他参数
__log__ 日志输出参数 HAR编辑页面->浏览->变量提取 支持正则,支持括号表达式
{{变量名}} 自定义变量
{{ '{{' }} 转义
{# 这里是注释 #} 注释,不会被执行
高级过滤器
过滤器是通过(|)符号进行使用的,例如:{{ name|length }}:将返回name的长度。
过滤器相当于是一个函数,把当前的变量传入到过滤器中,然后过滤器根据自己的功能,再返回相应的值,之后再将结果渲染到页面中。
进阶类
{{-1|int|abs}} 返回一个数值的绝对值 例:1
{{name|default('mark')}} 如果当前变量没有值,则会使用参数中的值来代替 输出:mark或name值
{{content|e}} 转义字符,会将<、>等符号转义成HTML中的符号
{{names|first}} 返回第一个元素 返回:n
{{names|last}} 返回最后一个元素 返回:s
{{names|striptags}} 删除字符串中所有的HTML标签,如果出现多个空格,将替换成一个空格。
{{names|trim}} 截取字符串前面和后面的空白字符
{{names|string}} 将变量转换成字符串
{{names|capitalize}} 第一个字符为大写,其他字符为小写 返回:Names
{{names|reverse}} 倒序输出 返回:seman
{{12.8888|int|round}} 四舍五入取整 返回:13.0
{{names|length}} 截取元素长度 返回:5
{{names|urlencode}} URL转义 (names值为:\u4f60\u597d)返回:你好
{{names|urlize}} 将纯文本URL转换为可单击的链接(HTML)
{{ "Hello " ~ names~ "!" }} 前后加内容 返回:Hellonames!
{{unicode(nihao)}} Unicode 转为中文 返回:你好
{{quote_chinese("12中文QA&/:")}} 将值或变量所有 ord() >=128 的用 Urlencode 表示返回:12%E4%B8%AD%E6%96%87QA&/:
{{ '<em>name</em>' | safe }} 关闭 Html 自动转义返回:<em>name</em>
{{"mark blog" | wordcount}} 统计字符串中单词个数(可为变量)返回:2
{{replace(a,b)}} 将变量 a 中的字符串替换为将变量 b 中的字符串返回:替换完成的字符串
{{names|truncate(4,True,'.',0)}} 截断补位,分别为:截断位置含追加,截断,截断追加,超过截断位置不截断返回:nam.
运算类
{{ liu|int + er|int }} 相加 返回:8
{{ liu|int - er|int }} 相减 返回:4
{{ liu|int * er|int }} 相乘 返回:12
{{ liu|int / er|int }} 相除(浮点数) 返回:3.0
{{ liu|int // er|int }} 相除(整数) 返回:3
{{ liu|int == er|int }} 比较两个对象相等 返回True、False 返回:False
{{ liu|int != er|int }} 比较两个对象不相等 返回:True
{{ liu|int > er|int }} 如果左侧大于右侧,则为true。 返回:True
{{ liu|int >= er|int }} 如果左侧大于或等于右侧,则为true。 返回:True
{{ liu|int < er|int }} 如果左侧低于右侧,则为true。 返回:False
循环类
{% for url in urls %} 开始一个 for 循环。 方法:填写至 Request URL
{% endfor %} 结束一个 for 循环。 方法:填写至 Request URL
{{loop.index}}当前迭代的索引,从1开始算(可理解为执行到第几个变量数组)。 返回:数量
数组类
{{数组变量|length}} 返回数组数量。 返回:数值
{{数组变量|min}} 返回返回最小数组。 返回:变量值
{{数组变量|max}} 返回返回最大数组。 返回:变量值
{{数组变量|join}} 返回数组所有数据(无间隔)。 返回:所有变量值
{{数组变量|join('|')}} 返回数组所有数据(有间隔) 间隔符为| 可以换成其他符号。 返回:a|b|c
{{数组变量|first}} 返回数组第一条数据。 返回:第一条变量值
{{数组变量|last}} 返回数组最后一条数据。 返回:最后一条变量值
{{数组变量|random}} 返回数组随机一条数据。 返回:随机变量值
{{数组变量[N]}} 取数组第 N 个序列的值(从 0 开始计次)。 返回:第 N 个变量值
{{数组变量|replace("Mark","quchao")}} 把字段中的 Mark 替换成 quchao。 返回:替换完成的结果
{{数组变量|tojson}} 返回所有数组并输出成 JSON 格式。 返回:用 JSON 标准输出数组变量
批量提取变量正则需要在正则开首加入/
结尾加入/g
即可把取到的内容放入变量数组中。
names
值作为name,content
内容为HTML,liu
为 6,er
为 2 ,nihao
为 \u4f60\u597d讲解演示返回。
更多 jinja 过滤器详见 http://jinja.pocoo.org/docs/dev/templates/#builtin-filters
常用工具网址
编码转换类
Unix 时间戳转换
http://tool.chinaz.com/Tools/unixtime.aspx
Native/ASCII 转换
https://tool.oschina.net/encode?type=3
URL 转码
https://tool.oschina.net/encode?type=4
加解密类
Base64 加/解密
https://www.bejson.com/enc/base64/
DES/AES等对称加/解密
https://www.bejson.com/enc/aesdes/
RSA/RSA2公钥私钥加/解密
https://www.bejson.com/enc/rsa/
AES加/解密
https://blog.zhengxianjun.com/html/tool_crypto_aes.html
API分享
时间日期类
京东时间戳13位以内
https://a.jd.com//ajax/queryServerData.html
请求类型 GET
过滤参数 (\d{13})
淘宝时间戳13位以内
http://api.m.taobao.com/rest/api3.do?api=mtop.common.getTimestamp
请求类型 GET
过滤参数 (\d{13})
苏宁年月日时间
http://quan.suning.com/getSysTime.do
请求类型 GET
过滤参数1 sysTime1":"(.+?)"
过滤参数2 sysTime2":"(.+?)"
腾讯年月日 失效
http://cgi.im.qq.com/cgi-bin/cgi_svrtime
请求类型 GET
取年份参数 (.+?)-
取月份参数 -(.+?)-
取全部参数 (.+)
综合时间
http://api.k780.com/?app=life.time&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=json&tdsourcetag=s_pctim_aiomsg
请求类型 GET
过滤参数按照需求自行编写
带小数点的时间戳
http://log-sh.wifi8.com:9442/mksdk/
请求类型 GET
过滤参数 (.+)
115时间
http://uplb.115.com/3.0/gettoken.php
请求类型 GET
过滤参数 Expiration":"(.+?)Z
小猿搜题13位时间戳
https://ape-api.yuanfudao.com/accounts/?tdsourcetag=s_pctim_aiomsg
请求类型 GET
过滤参数 timestamp":(.+?),
日志调用拼接
Unicode转中文
http://tool.chinaz.com/tools/unicode.aspx
请求类型 POST
请求内容 untoch=Unicode+转+中文&content=此处是内容
过滤参数 id="result">(.+)<
Unicode转中文
http://encode.chahuo.com/urlencode.php?s=此处是内容&t=urldecode&tdsourcetag=s_pctim_aiomsg
请求类型 GET
过滤参数 (.+)
Unicode转中文
https://javawind.net/tools/native2ascii.jsp?action=transformstype%3D2&textValue=此处是内容&tdsourcetag=s_pctim_aiomsg
请求类型 GET
过滤参数 ;">(.+)</tex
Unicode转中文
http://tool.sufeinet.com/Code/ChineseUnicode.aspx?t=2&str=此处是内容&tdsourcetag=s_pctim_aiomsg
请求类型 GET
过滤参数 5>(.+)</te
内容类
金山词霸每日一句
http://open.iciba.com/dsapi/
请求类型 GET
过滤参数 content":"(.+?)"
古诗词·一言
https://api.gushi.ci/rensheng.txt
请求类型 GET
过滤参数 .+
Hitokoto一言
https://v1.hitokoto.cn/?encode=text
请求类型 GET
过滤参数 .+
签到平台收集
节点:美国-38.143.59.23 官方(需要番羽)
https://qiandao.today
节点:美国-38.143.60.147 官方备用线路
https://qiandao.binux.me
节点:美国-207.246.100.9 关闭
https://qiandao.qaq.today
节点:美国-198.23.214.184 关闭
http://qiandao.hahabao.cc
节点:加拿大-45.62.121.250 关闭
http://sign.shkong.com
节点:四川成都腾讯云-118.24.61.15 关闭
https://qd.honry.net
节点-北京腾讯云-123.206.43.97 关闭
https://qiandao.dabianhaochi.cn
节点:广州腾讯云-123.207.238.128 关闭
https://hswcd.xyz
节点:四川成都腾讯云-118.24.108.251 维护中
http://qiandao.lowyun.com
节点:上海阿里云-106.14.115.242 维护完成
https://qiandao.xxkwz.cn
节点:上海腾讯云-122.152.221.227 关闭
https://qiandao.fangpengjun.com
节点:新加坡-150.109.45.111 关闭
http://qiandao.67cc.cn
节点:香港腾讯云-119.28.2.35 关闭
https://qd.gops.win/
节点:加拿大-64.137.242.171 关闭
http://inconsequential-enterprises.com
节点:美国-173.82.235.225 部分地区需翻羽墙
http://www.xiumie.info
节点:北京-140.143.143.43 已启用新主题
https://qiandao.xiguan.net
节点:腾讯云-未知 已启用新主题
https://qd.5sir.cn
设置管理员命令20190930
./chrole.py your@email.address admin
your@email.address 替换成需要提升管理员权限的账号邮箱(需已处在/已注册)
关于增强版(Pidan版)的延时功能优化20190930
因为这之前遇到一个问题,很多人把签到搭载在盒子上面,换了环境内网IP可能会发生变化,所以说为了不必要的麻烦,建议把模板中的 http://X.X.X.X:59595/util/delay/3 改为 http://localhost/util/delay/3
AragonSnow 版本已优化此功能。
日志聚合SQL查询脚本
-- 此脚本能一键输出所有签到任务的,所属账号、任务名、备注、成功数、失败数、日志。
SELECT
a.id AS "序号",
b.email AS "所属账号",
c.sitename AS "任务名",
a.note AS "备注",
a.success_count AS "成功数",
a.failed_count AS "失败数",
d.msg AS "日志"
FROM
task AS a,
user AS b,
tpl AS c
LEFT JOIN (
SELECT
taskid,
msg
FROM
tasklog AS e
WHERE
id = ( SELECT max( id ) FROM tasklog f WHERE e.taskid = f.taskid GROUP BY taskid )
) AS d ON a.id = d.taskid
WHERE
a.userid = b.id
AND a.tplid = c.id
ORDER BY
"序号" ASC
另外其他关于签到的文章详见 https://www.quchao.net/tag/qiandao/
获得模板
版权声明:本文为原创文章,版权归 Mark's Blog 所有,转载请注明出处!
本文链接:https://quchao.net/QianDaoEXP.html
友情提示:如果博客部分链接出现404,请留言或者联系博主修复。
感谢提供~已增加
老哥你地址好像写成博客的链接了OωO
刚才忙于吃饭,粗心了,改好了
刚入坑,小白,请教大神。用Thor抓取手机app什么值得买签到,签到POST已经找到了,但是里面Request Payload有一项“sign”是变量,没找到从哪里取,大神能否给个指引?
通常“sign”就是字面意思,但是有2个理解,看到URL带有这个一般是签到或者打卡的意思,如果在Request Payload里面就很尴尬,这一般是数据包做得自签验证用的,防止别人串改自身的数据做得一种保护措施,什么值得买是有保护措施的,如果想找到其中的办法最好的办法是逆向APP才可以。
pidan版本的qiandao哪里下载呀,蓝调皮肤Request Comment 导出后会丢失-
感谢提醒,已更新https://www.quchao.net/QianDao-Theme.html
请问两个list在模板中如何组合呢?我获取到bar1和bar2 我写{% set bars = bar1 + bar 2 %}提示我不支持.
不太明白你的意思,如果获取两个变量进行输出,建议采用本文中涉及到的“日志调用拼接”进行组合变量后输出log即可
那按这样问。请问文中的高级过滤器中的例如 {{ liu|int + er|int }}该怎么使用呢?在哪个位置使用呢?OωO
首先确认 “liu”和“er”是整数型变量,直接填写{{ liu|int + er|int }}即可把两组数据相加,在Request页面使用即可,填写到你需要提交数据的关键位置。
那要是我想把 liu|int + er|int 的结果给 ba这个变量呢?
之后再用{{ ba }}进行使用呢?我就是赋值这里不知道该怎么赋值
“日志调用拼接”里面可以。
意思就是,先把两个string发给日志拼接的那些API之后再抓取成一个新变量?问题是我的变量是两个list类型 该怎么用API,再抓回呢?
http://tool.chinaz.com/tools/unicode.aspx
请求类型 POST
请求内容 untoch=Unicode+转+中文&content=此处是内容
过滤参数 id="result">(.+)<
以上这个就可以。
试了一下。还是不行。提交过去就变成一堆奇怪的编码了。我就循环两次了。不组合了。~~
请问签到有办法过Cloudflare吗?是不是过不了呢~~~OωO
推荐火狐让人高兴。。推荐插件全是Chrome的。。ε=(´ο`*)))唉。。。
很显然Chrome插件多一些
谢谢分享
不定期更新,欢迎来访
拿去用了|´・ω・)ノ
我的天 看不懂
占位