yuupuu 发表于 2022-11-29 14:54

【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

帅才子 发表于 2022-12-1 21:07

{
    "code": 200,
    "msg": "域名正常"
}

php查询后,输出如代码形式,不能直接只输出文字吗。

Bin2450 发表于 2022-11-29 15:07

学习一下{:1_918:}

PastYiHJ 发表于 2022-11-29 15:25

可以,支持一下

绕着树光速跑 发表于 2022-11-29 15:30


可以,支持一下

sunks120 发表于 2022-11-29 15:39

谢谢分享

waxxy 发表于 2022-11-29 16:43

感谢分享,学习了!

linguo2625469 发表于 2022-11-29 17:46

又增加了点小知识

dujiu3611 发表于 2022-11-29 17:50

感谢分享,网址收藏了,有用:victory:

ZhuanZhuYuIT 发表于 2022-11-29 17:57

感谢分享

xinyangtuina 发表于 2022-11-29 17:57

用得上,谢谢
页: [1] 2 3
查看完整版本: 【2022新版】微信域名拦截检测API源码,检测域名是否能在微信正常打开