解析!微信域名拦截检测api接口的实现方式

Posted qxdalaoxz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解析!微信域名拦截检测api接口的实现方式相关的知识,希望对你有一定的参考价值。

背景

由于业务需要,需开发稳定可靠的微信域名拦截查询接口。所以,公司内部决定调研一套稳定、快速、正确率高的微信域名拦截检测查询接口。

 

但在网上谷歌百度查了好几天,都是一些付费接口,各大博客论坛GitHub也几乎是广告,开发组尝试谷歌搜索了一段时间,发现很少把源码及原理分享出来的。后来我们摸索了几天,终于解决这个问题。现决定将源码及原理分享出来!

域名检测接口来源

366-Domain Name Checking

原理

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

域名有如下几种状态:

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

B. 域名被微信拦截

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

D. 据用户投诉及腾讯安全网址安全中心检测,该网页包含恶意欺诈内容,为维护绿色上网环境,已停止访问

E. 网页包含诱导分享、关注等诱导行为内容,被多人投诉,为维护绿色上网环境,已停止访问

Demo

// 您的 API Token,在用户中心可查询到
$apiToken = "********************************";
// 需要检测的地址或域名
$reqUrl = "www.qq.com";
$url = sprintf("https://r8date.cn_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));
# -*- coding: utf-8 -*-
import json, urllib
from urllib import urlencode
def main():
    # 您的 API Token,在用户中心可查询到
    apiToken = "*********************"
    url = "https://r8date.cn"
    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()

 

以上是关于解析!微信域名拦截检测api接口的实现方式的主要内容,如果未能解决你的问题,请参考以下文章

域名是否被微信拦截,微信域名检测api接口分享

微信域名检测 腾讯微信域名检测的机制原理以及实现方式

解密微信域名检测API接口实现原理

猴子数据解密微信域名检测API接口实现原理

微信检测域名防封系统 如何调用微信官方的微信域名检测接口API

微信域名检测接口(官方api)——PHP请求示例