微信域名防封检测的技术原理及实现方式

微信域名防封主要是通过技术手段来实现预防措施,网络上的什么不死域名完全是无稽之谈,没有哪家是可以做到完全防封的。


所以主要的还是让自己的域名推广效果更好一点,别被封了都不知道,以至于损失惨重。

想要继续在微信中做推广,做好域名防封工作是非常有必要的,否则域名一旦被封,自己却未能及时知晓,从而得不到及时处理,损失可想而知。


由此可见,做微信推广,一个能实时检测域名是否被微信屏蔽拦截的 API 接口是绝对必不可少的。

下面就简单介绍一下微信域名防封检测的技术原理及实现方式


原理

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

域名有如下几种状态:

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

Demo

PHP

// 您的 API Token ,在用户中心可查询到

$apiToken = "********************************" ;

// 需要检测的地址或域名

$reqUrl = "www.qq.com" ;

$url = sprintf( "https://wx.horocn.com/api/v1/wxUrlCheck?api_token=%s&req_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' ] == 0 ) {

    // 接口正确返回

    // $responseArr['data']['status'] 的取值范围: ok blocked

    // ok 表示正常、 blocked 表示被封

    printf( " 测试地址( %s )的状态为: %s\n" , $reqUrl, $responseArr[ 'data' ][ 'status' ]);

} else {

    printf( " 接口异常: %s\n" , var_export($responseArr, true ));

}

Python

# -*- coding: utf-8 -*-

 

import json, urllib

from urllib import urlencode

 

def main ():

    # 您的 API Token ,在用户中心可查询到

    apiToken = "*********************"

 

    url = "https://wx.horocn.com/api/v1/wxUrlCheck"

    params = {

        "req_url" : "www.qq.com" , # 需要检测的地址或域名

        "api_token" : apiToken,

 

    }

    params = urlencode(params)

    f = urllib.urlopen( "%s?%s" % (url, params))

 

    content = f.read()

    res = json.loads(content)

    if res:

        code = res[ "code" ]

        if code == 0 :

            # 成功请求

            print res[ "result" ]

        else :

 


请使用浏览器的分享功能分享到微信等