段时间搞一个需求,是这样的,在微信中分享文章(广告),会被微信封,为了保证一个域名都能访问,需要检测是否被封,被封后就将该域名删除。为了防止被封,做了三级的域名跳转,一级使用一些必究权威网站的url跳转漏洞,二级用我们自己的,三级使用最终的广告域名。
起初以为会是web微信,或者微信公众号开发平台的某些位置能够检测,结果都失败了,检测不精确。后来回头测试上面的那个网站。在三台不同ip的电脑,同时检测域名时,只有一个能检测成功,或者一个都没成功。证明不能做并发操作。
于是就大概知道原理了。在微信客户端中模拟用户点击操作,查看是否被封。具体思路如下。
我使用的是天天模拟器(必须使用手机的微信,在pc端的微信中,.top和.wang的域名时检测不了的),php作为后端服务器,用易语言从后端获取需要检测的域名,模拟复制到微信中发送后,点击域名打开,然后用易语言的找图功能,找红色感叹号的图,如果找到,说明域名被封,检测被封后请求后端删除地址。
ps:关于url跳转漏洞,相对大的网站,可能会在微信白名单里面,不容易被封,url跳转漏洞的网站很多,也很容易找,具体怎么找。。。就不多说了。
关于并发操作,如果想做成接口对外开放,就要有足够多的并发。思路:建议使用nodejs,php,python也都可以,看个人喜好吧。
易语言使用服务器组件,监听一个端口。在服务器接收到查询请求时,提交给易语言,模拟器多开,使用多线程,就能同时检测多个域名了。