微信域名拦截检测API源码 检测域名是否能在微信正常打开
本帖最后由 yuupuu 于 2020-5-22 11:18 编辑可一键检测域名是否被微信屏蔽(网站是否可以在微信客户端中打开),适合做防红防拦截功能,便于及时更换域名。
<?php
/** ----------------------------------
* wx域名检测
* Time:2020-5-15
-------------------------------------- **/
header('Content-type: text/json;charset=utf-8');
if(empty($_REQUEST['url'])){
exit('{"code":0,"msg":"参数不正确"}');
}
$api = get_headers('http://mp.weixinbridge.com/mp/wapredirect?url='.$_REQUEST['url']);
if($api !== 'Location: '.$_REQUEST['url'].''){
$value = array('code'=>202,'msg'=>'域名被封');
}else{
$value = array('code'=>200,'msg'=>'域名正常');
}
echo json_encode($value,JSON_PRETTY_PRINT|JSON_UNESCAPED_UNICODE);
?>
测试(域名正常)http://www.wxpad.cn/api/wx_domain_check.php?url=http://www.qq.com
测试(域名被封)http://www.wxpad.cn/api/wx_domain_check.php?url=http://www.taobao.com
本帖最后由 你给的安全感 于 2020-5-23 06:37 编辑
分享一个优化版本的,,,至于为啥!!各位传递url为 https://www.baidu.cn/ 就知道了
get_headers第二个参数为true..这样返回的数据是数组带键名的..这样处理数据更好一点!!!
echo'<pre/>';
$url = $_GET['url'];
if(!$url){
exit('{"code":0,"msg":"参数不正确"}');
}
$apiRet = get_headers('http://mp.weixinbridge.com/mp/wapredirect?url=' . $url,1);
var_dump($apiRet);
if (is_array($apiRet['Location'])) {
$retVal = (in_array($url,$apiRet['Location'])) ? array('code'=>200,'msg'=>'域名正常') : array('code'=>202,'msg'=>'域名被封') ;
} else {
$retVal = ($apiRet['Location'] == $url) ? array('code'=>200,'msg'=>'域名正常') :array('code'=>202,'msg'=>'域名被封') ;
}
echo json_encode($retVal,JSON_PRETTY_PRINT|JSON_UNESCAPED_UNICODE);
如何使用?就一个代码而已 接口时对了,好像写法有问题?全是被封的 不对啊, 全是域名被封 huomavip 发表于 2020-5-21 17:15
接口时对了,好像写法有问题?全是被封的
不会吧,我这边测试没问题 8204118 发表于 2020-5-21 16:58
如何使用?就一个代码而已
xxx.php?url=链接 小松鼠 发表于 2020-5-21 16:58
域名检查+自动切换,哪就是天下无敌!
也是哦,我都有想法了,可以做一个自动切换,在访问链接的时候,调用接口进行验证,验证成功跳转链接,验证被拦截,就自动切换备用域名{:1_921:} xxx.php?url=链接(http://或https)带上这个就是正常的了
页:
[1]
2