微信域名防封主要是通过技术手段来实现预防措施,网络上的什么不死域名完全是无稽之谈,没有哪家是可以做到完全防封的。
所以主要的还是让自己的域名推广效果更好一点,别被封了都不知道,以至于损失惨重。
想要继续在微信中做推广,做好域名防封工作是非常有必要的,否则域名一旦被封,自己却未能及时知晓,从而得不到及时处理,损失可想而知。
由此可见,做微信推广,一个能实时检测域名是否被微信屏蔽拦截的 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 :