微信域名屏蔽检测接口 微信域名检测接口工具
前段时间搞一个需求,是这样的,在微信中分享文章(广告),会被微信封,为了保证一个域名都能访问,需要检测是否被封,被封后就将该域名删除。为了防止被封,做了三级的域名跳转,一级使用一些必究权威网站的url跳转漏洞,二级用我们自己的,三级使用最终的广告域名。
起初以为会是web微信,或者微信公众号开发平台的某些位置能够检测,结果都失败了,检测不精确。后来回头测试上面的那个网站。在三台不同ip的电脑,同时检测域名时,只有一个能检测成功,或者一个都没成功。证明不能做并发操作。
于是就大概知道原理了。在微信客户端中模拟用户点击操作,查看是否被封。具体思路如下。
我使用的是天天模拟器(必须使用手机的微信,在pc端的微信中,.top和.wang的域名时检测不了的),php作为后端服务器,用易语言从后端获取需要检测的域名,模拟复制到微信中发送后,点击域名打开,然后用易语言的找图功能,找红色感叹号的图,如果找到,说明域名被封,检测被封后请求后端删除地址。
ps:关于url跳转漏洞,相对大的网站,可能会在微信白名单里面,不容易被封,url跳转漏洞的网站很多,也很容易找,具体怎么找。。。就不多说了。
关于并发操作,如果想做成接口对外开放,就要有足够多的并发。思路:建议使用nodejs,php,python也都可以,看个人喜好吧。
易语言使用服务器组件,监听一个端口。在服务器接收到查询请求时,提交给易语言,模拟器多开,使用多线程,就能同时检测多个域名了。
具体方案就是屏蔽掉违规内容,让腾讯无法检测到违规内容,最保险的最好还要用技术手段屏蔽掉用户投诉按钮。这样的一整套方案实施后,大家的域名肯定会得到很好的防护效果。同样给大家推荐一个比较不错的测试接口【monkeyapi】,希望能帮助到你。
1. $url = "";
2. $params = array(
3. 'appkey' =>'appkey',//您申请的APPKEY
4. 'url' =>'',//需要查询的网站
5. ); <<--有不懂的加q咨询:510124737-->>
6.
7.
8. $paramstring = http_build_query($params);
9. $content = Curl($url, $paramstring);
10.$result = json_decode($content, true);
11.if($result) {
12. var_dump($result);
13.}else {
14. //请求异常
15.}
16.
17./**
18. * 请求接口返回内容
19. * @param string $url [请求的URL地址]
20. * @param string $params [请
求的参数]
21. * @param int $ipost [是否采用POST形式]
22. * @return string
23.*/
24.function Curl($url, $params = false, $ispost = 0)
25.{
26. $httpInfo = array();
27. $ch = curl_init();
28.
29. curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
30. curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);
31. curl_setopt($ch, CURLOPT_TIMEOUT, 60);
32. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
33. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
34. if ($ispost) {
35. curl_setopt($ch, CURLOPT_POST, true);
36. curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
37. curl_setopt($ch, CURLOPT_URL, $url);
38. }else {
39. if ($params) {
40. curl_setopt($ch, CURLOPT_URL, $url.'?'.$params);
41. } else {
42. curl_setopt($ch, CURLOPT_URL, $url);
43. }
44. }
45.
46. $response = curl_exec($ch);
47. if ($response === FALSE) {
48. //echo "cURL Error: " . curl_error($ch);
49. return false;
50. }
51.
52. $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
53. $httpInfo = array_merge($httpInfo, curl_getinfo($ch));
54. curl_close($ch);
55. <<--有不懂的加q咨询:510124737-->>