【2022新版】微信域名拦截检测API源码,检测域名是否能在微信正常打开
本帖最后由 yuupuu 于 2022-11-29 15:00 编辑域名在微信被封有3种情况
第一种:浏览器访问
第二种:非官方网页
第三种:停止访问网页
被封原因
第一种:腾讯垄断市场!不准对他有威胁的同行的域名在微信正常访问!经典的案例就是抖音、淘宝、支付宝。
第二种:不常见的域名后缀,或者是未备案的域名后缀会出现这个。常见的域名后缀即便是未备案也不会这样!
第三种:违规了。违反《微信外部链接内容管理规范》
URL在微信内运行流程
上代码
<?php
/**
* 微信域名拦截检测
* 2022年11月29日编写
* 作者:TANKING
*/
// 页面编码
header("Content-type:application/json");
// 隐藏WARNING
error_reporting(E_ALL ^ E_WARNING);
// 获取headers
$checkUrl = get_headers('http://mp.weixinbridge.com/mp/wapredirect?url='.$_REQUEST['url']);
$headerStr = json_encode($checkUrl);
// 提取Location后面的
$Location_behind = substr($headerStr, strripos($headerStr, "Location"));
// 判断域名状态
if($Location_behind == 'false'){
// 该域名无法正常访问
$result = array(
'code' => 201,
'msg' => '该域名无法正常访问,暂时无法查询访问状态'
);
}else if(strpos($Location_behind,'weixin110') !== false){
// Location后面包含weixin110就是被封了
// 域名被封
$result = array(
'code' => 202,
'msg' => '域名被封'
);
}else{
// 域名被封
$result = array(
'code' => 200,
'msg' => '域名正常'
);
}
// 输出JSON
echo json_encode($result,JSON_PRETTY_PRINT|JSON_UNESCAPED_UNICODE);
?>
代码解释
通过获取http://mp.weixinbridge.com/mp/wapredirect?url=的请求头,即可判断是否被封,就是这么简单,很多API收费的都是这么干的!
使用方法
具体如何使用,请阅读我的开源:
https://github.com/likeyun/liKeYun_WeChatDomainNameCheck
{
"code": 200,
"msg": "域名正常"
}
php查询后,输出如代码形式,不能直接只输出文字吗。 学习一下{:1_918:} 可以,支持一下
可以,支持一下
谢谢分享 感谢分享,学习了! 又增加了点小知识 感谢分享,网址收藏了,有用:victory: 感谢分享 用得上,谢谢