微信域名被拦截怎么办?-技术专栏_微信域名检测接口


背景

由于微信限制比较严格,域名一不小心就被判定是诱导分享的。所以,公司内部决定调研一套稳定、快速、正确率高的微信域名拦截检测查询接口。

开发组尝试谷歌搜索了一段时间,发现很少把源码及原理分享出来的。后来我们摸索了几天,终于解决这个问题。


原理

使用Wireshark抓包获取微信的域名拦截查询接口。

域名有如下几种状态:

  • 域名能正常访问(未被微信拦截)
  • 域名被微信拦截
    • 非微信官方网页,继续访问将转换成手机预览模式(在公众号后台把域名添加到业务域名一般能解决这个问题)
    • 据用户投诉及腾讯安全网址安全中心检测,该网页包含恶意欺诈内容,为维护绿色上网环境,已停止访问
    • 网页包含诱导分享、关注等诱导行为内容,被多人投诉,为维护绿色上网环境,已停止访问

Demo(PHP版)

// 您的 API Token
$apiToken = "********************************";
// 需要检测的地址或域名
$reqUrl = "www.qq.com";
$url = sprintf("https://www.jiuyuango.com/api/v1/wxUrlCheck?token=%s&url=%s", $apiToken, $reqUrl);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
$responseBody = curl_exec($ch);
$responseArr = json_decode($responseBody, true);
if (json_last_error() != JSON_ERROR_NONE) {
    echo "JSON 解析接口结果出错\n";
    return;
}
if (isset($responseArr['code']) && $responseArr['code'] == '9900') {
    // 域名正常
    return "ok";
}
else if (isset($responseArr['code']) && $responseArr['code'] == '9904') {
    // 域名被封
    return "forbid";
}  else {
    printf("接口异常:%s\n", var_export($responseArr, true));
}




在线咨询

如有疑问,请联系

客服QQ

3600621291