检测域名分享到微信的拦截状态

小助手读文章 00:00 / 00:00

温馨提示:
本文所述内容具有依赖性,可能因软硬条件不同而与预期有所差异,故请以实际为准,仅供参考。

微信对于外部链接有着相对比较严格的管理,很可能一不小心就在微信渠道被屏蔽访问,从而影响到推广的效果,因此有必要在分享前对链接进行实时检测,判断是否正常,防患于未然。

本文分享的检测方法使用微信官方接口,可以实时检测状态,非常稳定,准确率达 100%。

原理

在微信中打开链接会存在四种情况:

  • 正常访问;
  • 红色拦截,屏蔽访问:域名违规或有风险,比如一些皇色网站、反洞网站;
  • 白色拦截,复制访问:一般是微信竞争对手,比如 taobao.com、douyin.com 等等;
  • 未知拦截,点击访问:一般针对 .top、.xyz、.link 等非主流域名,比如 uuin.top 等;

访问响应.png

微信打开链接时会先过一层安全检测,再根据检测结果来跳转相应的页面,因此我们可以通过监测安全检测的响应内容,来判断外部链接的安全性。

实施

前面说到,我们可以通过监测安全检测的响应内容,来判断外部链接的安全性,下文使用 PHP 来实现。

<?php
// 返回JSON
header('Content-type: application/json;charset=utf-8');
 
// 官方API接口
$api = get_headers('http://mp.weixinbridge.com/mp/wapredirect?url='.$_REQUEST['url']);
 
// 判断是否被拦截,返回数组包含 weixin110 就代表被封了
if (trim(empty($_REQUEST['url']))) {
        $result = array(
                'code' => 404,
                'msg' => '请输入需要检测的 URL',
                'tips' => 'vircloud.net'
        );
} else if($api[6] !== 'Location: '.$_REQUEST['url'].''){
        $result = array(
                'code' => 403,
                'msg' => '域名被拦截',
                'tips' => 'vircloud.net'
        );
} else {
        $result = array(
                'code' => 200,
                'msg' => '域名正常',
                'tips' => 'vircloud.net'
        );
}
 
// 输出JSON
echo json_encode($result,JSON_UNESCAPED_UNICODE);
?>

参考文章:

1、《【全新官方接口】php检测微信域名拦截,检测微信域名被封


ArmxMod for Typecho
个性化、自适应、功能强大的响应式主题

推广

 继续浏览关于 域名php源码检测微信拦截状态 的文章

 本文最后更新于 2020/12/31 20:24:06,可能因经年累月而与现状有所差异

 引用转载请注明: VirCloud's Blog > 经验 > 检测域名分享到微信的拦截状态