前言
之前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://www.quchao.net/QianDaoEXP.html
友情提示:如果博客部分链接出现404,请留言或者联系博主修复。
注册仓库这一步,我想换源,很偶尔的刷出来了一个 【注册】 按钮,之后满网站找都找不到了,没有办法换源,请问还有扫描办法么??
是否有条件循环?或怎么退出for?
没事过来看看,跟大佬学习一下!
博主你好,我发现如果有多个请求,每个都要输出log的时候,只会输出最后一个log,有没有办法解决? 文章不错,支持一下!
LOG只是汇总所有信息输出到前端的功能,你可以把所有输出LOG的地方都直接输出到不同的变量,然后把这些变量叠加起来最终都输出到LOG即可。
有交流群吗?
你好,我想问一下这个可以用来搞app的签到吗?
可以的。
大哥,回复的挺及时的哈,有详细教程吗?还是抓包就可以了?
这个目前没有什么好的教程,就是用上面提到的抓包工具,导出har,然后自己根据需要调试就可以了。
第一个抓包工具只能iPhone和ipad吗
好的,谢谢 我试试,我之前没导过har ,只是抓过包
循环请求某个请求怎么写
循环类 跟数组类的搭配就可以了
循环类 标签怎么使用呢
大佬能不能增加个追书神器的签到的文件。。自己小白搞不了
我看一下
大佬能不能增加个微博超话签到的,我实在是不会了>﹏<
请问我自建的docker版自动签到,实际测试时提示 签到失败:failed at 2/5 request, , https://www.v2ex.com/mission/daily ,测试模板为v2ex cookie版,我的签到网站地址:http://cloud.cnccsnet.icu:8000/
在https://qiandao.today/测试是成功的
非常感谢,你的文章给了我很大的帮助。
大佬你好,我在模板中设置了log变量,但是执行日志还是显示none,这种情况可能是什么原因导致的?
你确定是log?另外log给了传递数据了吗
是的,在预览页面的提取变量设定变量名为log,取值通过正则,在预览的时候是正常的。
我在后面又插了一个页面,调用log,也能看到是有值的。
太全面了,仿佛找到新世界般的感觉。
欢迎一起来交流学习
大佬有交流群吗
看看大佬博客
欢迎常来逛逛
没事就来看看大佬的博客
谢谢作者的分享
能不能支持一下这个http://www.idc789.com/,签到送服务器
你好!我想问一下,签到失败后怎样发送提醒邮件。邮件的相关配置,应该已经是配置好的(采用SMTP的方式),尝试点击忘记密码,是可以发送密码修改邮件,就是签到失败后直到被禁用为止,是没有任何的提醒
邮件,不知道该如何设置,求大神指教
兄弟你看看邮箱有没有验证,验证过的话数据库里email_verified值应该是1,我还在测试是不是这个原因。
这个不需要额外设置,你看看你垃圾箱有没有相关邮件,理论上忘记密码可以用签到失败就可以用,是一个设置方法。
签到失败后,怎样设置邮件提醒
修改 config.py 文件
优先用mailgun方式发送邮件,如果要用smtp方式发送邮件,请填写mail_smtp, mail_port, mail_ssl, mail_user, mail_password
mail_smtp = "" # 邮件smtp地址
mail_port = 465 # 邮件smtp端口,非SSL默认端口为25
mail_ssl = True # 邮件smtp是否使用SSL
mail_user = "" # 邮件smtp账户
mail_passowrd = "" # 邮件smtp密码
mail_domain = "mail.qiandao.today"
mailgun_key = ""