微信域名检测API接口的实现方法及原理解读
微信域名检测API接口是腾讯对外公布的微信域名状态查询接口,可实时查询域名在微信中的状态,如果状态异常则返回结果提示“域名被封”,如果未有异常则返回结果提示“域名正常”。
微信域名检测API
接口一:http://www.60ht.cn/wxcheck/api.php?url=http://www.baidu.com
接口二:http://www.xiaocaoff.cn/api/check.php?url=http://www.baidu.com
应用场景
由于微信对外部链接内容规范比较严格,所以可能一不小心就会被判定为是违反内容规范的,或被同行恶意举报投诉之类的。
那么此时就要用到微信域名检测接口,实时检测域名的状态,从而才可以防患于未然,不影响推广。上面分享的微信域名拦截检测api,是采用微信官方接口打造,可以实时检测微信域名安全,有异常及时通知,非常稳定,准确率达100%。
接口使用说明
1、在线使用
将api接口地址中的“http://www.baidu.com”换成你需要检测的域名(带不带http://都可以),然后复制完整接口地址前往浏览器粘贴打开即可返回结果。
2、请求接口
如果觉得在线使用很麻烦,或者需要实时查询,那么需要将接口对接到服务器程序中,设置返回参数,即可实时检测并返回域名在微信内的状态。
请求示例
PHP调用演示
$url = ‘http://www.baidu.com‘; $api_url = ‘http://www.60ht.cn/wxcheck/api.php?url=http://www.baidu.com; $short_url = file_get_contents($api_url); echo $result_url;
Java调用演示
public static void main(String path[]) throws Exception { URL u = new URL("http://www.60ht.cn/wxcheck/api.php?url=http://www.baidu.com"); InputStream in = u.openStream(); ByteArrayOutputStream out = new ByteArrayOutputStream(); try { byte buf[] = new byte[1024]; int read = 0; while ((read = in .read(buf)) > 0) { out.write(buf, 0, read); } } finally { if ( in != null) { in .close(); } } byte b[] = out.toByteArray(); System.out.println(new String(b, "utf-8")); }
Python调用演示
import urllib, urllib2, sys host = ‘http://www.60ht.cn/‘ path = ‘/wxcheck/api.php‘ method = ‘GET‘ querys = ‘url=http%3A%2F%2Fwww.baidu.com‘ bodys = {} url = host + path + ‘?‘ + querys request = urllib2.Request(url) response = urllib2.urlopen(request) content = response.read() if (content): print(content)
注意事项:
1、调用api接口时,只需将 “http://www.baidu.com”替换成需要检测的域名即可。
2、API接口支持域名中带参数,当域名中出现 & 符号时,要用 %26 代替(或者使用url编码格式),否则可能会导致返回结果不准确。
3、域名是不是http(s)://开头都行,如果要检测二级域名,要把url换成二级域名。检测主域名的话直接填主域名即可。
常见问题:
问:为什么接口返回结果与实际不符?
答:链接中的携带的特殊字符串没有进行编码,导致参数没有生效;或者是因为待检测的域名格式不对。
问:接口没有返回结果,是什么情况?
答:有些时候接口返回数据有延迟,超时了则会返回失败,msg值即为空;或者是调用方法不对,详情可见上文API请求示例。
问:接口是否限制请求次数和请求频率?
答:正式接口不限次请求次数,不限制请求频率,可实时检测。