你的域名在微信被拦截的 3 种常见情况
1 、域名因违规或有风险被拦截(红色拦截)
2 、类似 taobao.com ,douyin.com 这种的恶意竞争式拦截,淘宝、抖音等微信的竞争对手一般都是白色拦截(白色拦截)
3 、有一个中间页的拦截,需要多次点击按钮才可以跳转到你的域名的,多是一些新型域名后缀,例如.top .xyz .link 后缀,这种情况,备案后可以解决(备案拦截)
通过 php get_headers()函数就可以分析到结果
这个下标为 6 是一个 URL,在微信访问后正是这个讨厌的页面!
如果切换为正常的链接的话,返回的 headers 是这样的
之前发过一次,但是之前的已经不能用了
现在又重新抓包,终于发现了,原来之前的接口
修改了数据返回的位置,之前是返回下标为[1]的
现在返回的位置下标是[6]既然这样
那么代码就好写了~下面是代码,再也不用网上收费的 api 了
Api 调用源码
<?php
// 返回 JSON
header('Content-type: application/json;charset=utf-8');
// 官方 API 接口
$api = get_headers('http://mp.weixinbridge.com/mp/wapredirect?url='.$_GET['url']);
// 检测 url 的合法性
$checkUrl = "/http[s]?:\/\/[\w.]+[\w\/]*[\w.]*\??[\w=&\+\%]*/is";
// 过滤 URL
switch($_GET['url'])
{
case (preg_match($checkUrl,$_GET['url'])):
$result = array(
'code' => 201,
'msg' => '你传入的 URL 不合法'
);
break;
case ($api[6] !== 'Location: '.$_GET['url'].''):
$result = array(
'code' => 202,
'msg' => '域名被拦截'
);
break;
case ($api[6] == 'Location: '.$_GET['url'].''):
$result = array(
'code' => 200,
'msg' => '域名正常'
);
break;
}
// 输出 JSON
echo json_encode($result,JSON_UNESCAPED_UNICODE);
?>
如何使用?
1 、新建 wxcheck.php 文件
2 、拷贝上面代码
3 、部署到服务器即可
4 、发起 Get 请求,URL 格式如下
http://域名 /目录 /wxcheck.php?url=你要检测的域名