温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

最新微信域名防封技术-微信域名封禁检测接口

发布时间:2020-08-09 13:19:55 来源:ITPUB博客 阅读:517 作者:laki_yo 栏目:移动开发

微信域名防封主要是通过技术手段来实现预防措施,网络上的什么不死域名完全是无稽之谈,没有哪家是可以做到完全防封的。
所以主要的还是让自己的域名推广效果更好一点,别被封了都不知道,以至于损失惨重。
想要继续在微信中做推广,做好域名防封工作是非常有必要的,否则域名一旦被封,自己却未能及时知晓,从而得不到及时处理,损失可想而知。
由此可见,做微信推广,一个能实时检测域名是否被微信屏蔽拦截的API接口是绝对必不可少的。
微信域名检测API接口来自: https://wx.horocn.com/
下面就简单介绍一下微信域名防封检测的技术原理及实现方式

原理

使用 Wireshark 抓包获取微信的域名拦截查询接口。
域名有如下几种状态:

  • 域名能正常访问(未被微信拦截)
  • 域名被微信拦截

  • 非微信官方网页,继续访问将转换成手机预览模式(在公众号后台把域名添加到业务域名一般能解决这个问题)

  • 据用户投诉及腾讯安全网址安全中心检测,该网页包含恶意欺诈内容,为维护绿色上网环境,已停止访问
  • 网页包含诱导分享、关注等诱导行为内容,被多人投诉,为维护绿色上网环境,已停止访问

Demo

PHP 版

<?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:
            print "%s: %s" % (res["code"],res["msg"])
    else:
        print "request api error"
if __name__ == '__main__':
    main()
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI