实时检测微信域名防红拦截检测API-最新腾讯域名屏蔽检测官方接口

背景

最近手里有个项目需要检测域名在微信里是否可以打开,如果被微信拦截,则需要进行下一步操作,所以需要判断域名的状态,但是微信官方并没有提供相关查询的方法,最后在网上找到了这个接口地址,分享给有需要的朋友。

域名被封常见原因

域名被封,确实有很多因素,简单列举下:

1、购买的域名有黑历史,曾经进过小黑屋,这类则是风险名单中的重点检测对象。

2、qq和微信是2种完全不同的检测机制,经常会出现一边被封另一边没事!

3、网站流量过大,腾讯针对流量过大的网站也是重点检测的对象!

4、诱导转发活动,即使是合法营销,也会被封;

5、 正文、标题、图片任意有一处有一点点违规信息,被系统抓取到也是会被封禁

6、人工举报,这个也占有一定的比例

7、有的是封链接不封域名,因为是腾讯合作的第三方平台,京东、拼多多、有赞等等

8、 服务器 IP是一个很重点检测。

9、对于明显特征或复用度高的违规图片,系统是能识别的!

检测接口分享

使用说明

API接口说明

名称说明

接口地址https://api.yemao.vip/v2/wechat_url_check

返回格式JSON

请求方式GET

请求示例https://api.yemao.vip/v2/wechat_url_check?app_key=您的App key&url=www.qq.com

接口备注如果您处于登录状态,请求示例中的App Key即是您真实的App Key,不需要再去我的APPKEY查询

请求参数说明

名称必填类型说明

app_key是string用户的App Key,在我的APPKEY可查询到,用于API调用

url是string需要检测的url或域名,例:https://www.qq.com/ 或 www.qq.com

返回参数说明

名称类型说明

codeinteger状态码,0表示正常,非0表示错误

msgstring提示信息

data.statusstring域名状态,取值:ok(正常)、blocked(被封)

data.err_codeinteger域名被封的原因,0(正常)、30001(页面被转码)、30002(已停止访问该网页)、30998(如需浏览,请长按网址复制后使用浏览器访问)、30999(其他未知错误)

data.err_msgstring错误说明

data.sub_err_msgstring详细的错误说明

JSON返回示例

//请求频率过快

{

"code": 10001,

"msg": "接口调用频率过快",

"data": []

}

//服务端处理请求出现异常

{

"code": 10004,

"msg": "系统内部错误,请重试",

"data": []

}

//请求成功且域名正常

{

"code": 0,

"msg": "OK",

"data": {

"status": "ok",

"err_code": 0,

"err_msg": "",

"sub_err_msg": ""

}

}

//请求成功但域名被封

//被封原因:已停止访问该网页 - 网页包含侵权内容

{

"code": 0,

"msg": "OK",

"data": {

"status": "blocked",

"err_code": 30002,

"err_msg": "已停止访问该网页",

"sub_err_msg": "网页包含侵权内容"

}

}

//请求成功但域名被封

//被封原因:页面被转码 - 非微信官方网页

{

"code": 0,

"msg": "OK",

"data": {

"status": "blocked",

"err_code": 30001,

"err_msg": "页面被转码",

"sub_err_msg": "非微信官方网页"

}

}

//请求成功但域名被封,需要长按网址复制后使用浏览器访问

{

"code": 0,

"msg": "OK",

"data": {

"status": "blocked",

"err_code": 30998,

"err_msg": "如需浏览,请长按网址复制后使用浏览器访问",

"sub_err_msg": ""

}

}

示例代码

Python

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

import json, urllib

from urllib import urlencode

def main():

# 您的App Key,在我的APPKEY可查询到

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

url = "https://api.yemao.vip/v2/wechat_url_check"

params = {

"url" : "www.qq.com", #需要检测的地址或域名

"app_key" : 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()

PHP

<?php

/**

* @author 野猫VIP

* @copyright 2020

* @see http://yemao.vip/open/weixin_jiance

*/

try {

//您的App Key,在我的APPKEY可查询到

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

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

$reqUrl = "www.qq.com";

$url = sprintf("https://api.yemao.vip/v2/wechat_url_check?app_key=%s&url=%s", $apiToken, $reqUrl);

$ch = curl_init($url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);

//禁止cURL验证对等证书(peer's certificate),不建议生产环境这么配置

//如果出现证书问题,建议在https://curl.haxx.se/docs/caextract.html下载最新证书

//并打开php.ini添加:curl.cainfo=/path/to/cacert.pem

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

$responseBody = curl_exec($ch);

if ($responseBody === false) {

printf("Curl error: %s\n", curl_error($ch));

return;

}

$responseArr = json_decode($responseBody, true);

if (json_last_error() != JSON_ERROR_NONE) {

printf("JSON解析接口结果出错:%s\n", json_last_error_msg());

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));

}

} catch(Exception $e) {

printf("出现异常:%s\n", $e->getMessage());

}

(0)

相关推荐