域名为什么会被腾讯屏蔽封禁 如何查询微信域名是否被屏蔽的方法

背景

由于业务需要,需稳定可靠的微信域名拦截查询接口,但在网上谷歌百度查了好几天,都是一些付费接口,各大博客论坛
GitHub也几乎是广告,后来摸索了一段时间也成功实现,现决定将代码和原理分享出来!

 

原理

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

 

域名有如下几种状态:

 

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

 

B. 域名被微信拦截

 

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

 

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

 

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

 

 代码是我参考河马检测、矮鹿防封、猫头鹰微信域名检测工具等几家老牌检测工具抓出来的,如果只需要平时隔三差五检测
检测,这几家都是免费的,也够用了,因为这边需要做高频接口,所以才需要取得原理.

c1azhojb.png

源码

Demo

 

 

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

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

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

$reqUrl = "www.qq.com";

$url = sprintf("https://api.hemajiance.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 解析接口结果出错 ";

    return;

}

if (isset($responseArr['code']) && $responseArr['code'] == 0) {

    // 接口正确返回

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

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

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

} else {

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

}

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

import json, urllib

from urllib import urlencode

def main():

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

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

    url = "https://www.hemajiance.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()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值