1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 如何批量检测查询域名或者网址是否被微信屏蔽拦截

如何批量检测查询域名或者网址是否被微信屏蔽拦截

时间:2022-04-22 23:10:13

相关推荐

如何批量检测查询域名或者网址是否被微信屏蔽拦截

背景

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

原理

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

域名有如下几种状态:

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

B. 域名被微信拦截

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

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

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

源码

Demo

// 您的 API Token,在用户中心可查询到$apiToken = "********************************";// 需要检测的地址或域名$reqUrl = "";$url = sprintf("_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, urllibfrom urllib import urlencodedef main():# 您的 API Token,在用户中心可查询到apiToken = "*********************"url = ""params = {"req_url" : "", #需要检测的地址或域名"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()

代码是我参考几家老牌检测工具抓出来的,如果只需要平时隔三差五检测检测,这几家都是免费的,也够用了,因为这边需要做高频接口,所以才需要取得原理.

河马检测、

猫头鹰微信域名检测和 矮鹿防封

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。