摘要
为什么需要这个接口?因为在微信中推广链接,会涉及到违规,一旦链接违规,就会被微信封禁,禁止跳转,停止访问。
这个接口可以获取到你的链接的封禁情况,你可以开发实时监控系统,或者是嵌套多层跳转,精准监控每个域名的状态,实时监控推广情况,保证最佳的推广效果!
域名在微信被拦截的3种常见情况
1、域名因违规或有风险被拦截(图1红色拦截)
2、类似douyin.com
这种的竞争式拦截(图2白色拦截)
3、有一个中间页的拦截,需要多次点击按钮才可以跳转到你的域名的,多是一些使用频次较低的域名后缀,例如.xyz .link .top
后缀,这种情况,备案后向微信申诉即可解决(图3备案拦截)
编写接口
WeChatDomainNameCheck.php
<?php
/**
* 微信域名拦截检测
* 2024年2月1日编写
* 作者:TANKING
* 博客:https://segmentfault.com/u/tanking
*/
// 页面编码
header("Content-type:application/json");
// 获取Url
$url = $_GET['url'];
if($url) {
// 调用官方接口
$checkUrl = 'https://cgi.urlsec.qq.com/index.php?m=url&a=validUrl&url='.urlencode($url);
$ch = curl_init($checkUrl);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// 返回信息
$response = curl_exec($ch);
curl_close($ch);
$data_msg = json_decode($response)->data;
if($data_msg == 'ok') {
// 域名被封
$result = array(
'code' => 202,
'msg' => '域名被封'
);
}else {
// 域名正常
$result = array(
'code' => 200,
'msg' => $data_msg
);
}
}else {
// 参数为空
$result = array(
'code' => 202,
'msg' => '请传入Url'
);
}
// 输出JSON
echo json_encode($result, JSON_PRETTY_PRINT|JSON_UNESCAPED_UNICODE);
?>
我的接口是免费的,微信官方的,不是那些恶心博主封装了一层还要充钱才能用的软文。
gitHub:https://github.com/likeyun/liKeYun_WeChatDomainNameCheck
如何使用
假设你的域名是 www.qq.com
你要查询域名 www.baidu.com
WeChatDomainNameCheck.php 已上传至你服务器根目录
正确的调用示例是:
http://www.qq.com/WeChatDomainNameCheck.php?url=http://www.baidu.com
服务器推荐
几块钱一个月,免备案,送域名和SSL证书。
https://www.rainyun.com/TANKING_
作者
TANKING
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。