PHP实现微信小程序状态检测(违规、暂停服务、维护中、正在修复)

news2025/1/4 16:13:52

实现原理

进入那些状态不正常的小程序会被重定向至一个Url,使用抓包软件抓取这个Url,剔除不必要参数,使用cURl函数请求网页获得HTML内容,根据内容解析出当前APPID的小程序的状态。

在这里插入图片描述

代码

<?php

    // 编码
    header('Content-type:application/json');
    
    // 获取appid
    $appid = trim($_GET['appid']);
    
    // appid正则表达式验证规则
    $appid_pattern = '/^wx[a-f0-9]{16}$/';
    
    if($appid) {
        
        // 验证appid是否符合规则
        if(!preg_match($appid_pattern, $appid)) {
        
            $result = array(
                'code' => 201,
                'msg' => 'appid不符合规则'
            );
        }else {
            
            // 目标URL
            $url = 'https://mp.weixin.qq.com/mp/waerrpage?appid='.$appid.'&type=offshelf';
            
            // 初始化cURL会话
            $ch = curl_init();
            
            // 设置cURL选项
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            
            // 执行cURL并获取页面内容
            $response = curl_exec($ch);
            
            // 关闭cURL会话
            curl_close($ch);
            
            // 获取后面的内容
            $str1 = substr($response, strripos($response, "weui-msg__title"));
            
            // 获取前面的内容
            $str2 = substr($str1, 0, strrpos($str1, "weui-msg__desc"));
            
            // 不正常的类型
            $close_type_1 = '小程序因违规已暂停服务';
            $close_type_2 = '小程序系统故障,开发者正在修复';
            $close_type_3 = '小程序已暂停服务';
            $close_type_4 = '小程序系统更新维护中';
            
            // 判断
            if(preg_match("/因违规已暂停服务/", $str2)) {
                
                $result = array(
                    'code' => 201,
                    'msg' => $close_type_1
                );
            }else if(preg_match("/正在修复/", $str2)) {
                
                $result = array(
                    'code' => 201,
                    'msg' => $close_type_2
                );
            }else if(preg_match("/小程序已暂停服务/", $str2)) {
                
                $result = array(
                    'code' => 201,
                    'msg' => $close_type_3
                );
            }else if(preg_match("/更新维护中/", $str2)) {
                
                $result = array(
                    'code' => 201,
                    'msg' => $close_type_4
                );
            }else{
                
                $result = array(
                    'code' => 200,
                    'msg' => '小程序正常'
                );
            }
        }
    }else {
        
        $result = array(
            'code' => 201,
            'msg' => '请传入appid'
        );
    }

    // 输出
    echo json_encode($result,JSON_UNESCAPED_UNICODE);

?>

使用

上传miniProgramStatusCheck.php至服务器;

访问:

https://域名/miniProgramStatusCheck.php?appid=被检测的小程序的APPID

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/987468.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Flink--2、Flink部署(Yarn集群搭建下的会话模式部署、单作业模式部署、应用模式部署)

星光下的赶路人star的个人主页 你必须赢过&#xff0c;才可以说不在乎输赢 文章目录 1、Flink部署1.1 集群角色1.2 Flink集群搭建1.2.1 集群启动1.2.2 向集群提交作业 1.3 部署模式1.3.1 会话模式&#xff08;Session Mode&#xff09;1.3.2 单作业模式&#xff08;Per-Job Mod…

业绩大变脸!上半年净亏1.1亿元,经纬恒润怎么了?

2023年上半年&#xff0c;中国汽车市场需求逐步恢复&#xff0c;智能电动汽车市场则呈现出了“高歌猛进”的现象&#xff0c;但经纬恒润却面临了业绩大变脸。 经纬恒润&#xff08;688326.SH&#xff09;成立于2003年&#xff0c;基于Mobileye方案顺利进入了ADAS前装量产市场&…

软件设计师(十二)多媒体基础

一、多媒体技术的基本概念 1、音频相关概念 PC处理的音频信号主要是人耳能听得到的音频信号 (audio) &#xff0c;它的频率范围是20Hz ~ 20kHz。 可听声包括&#xff1a;话音 (也称语言)&#xff1a;人的说话声&#xff0c;频率范围通常为300 ~ 3400Hz。 音乐&#xff1a;由乐…

电脑文件误删除如何恢复?这4个常用方法记好了!

“我怎么又误删了重要的文件啊&#xff01;这种情况已经不是第一次出现了&#xff0c;真的很让人烦恼&#xff01;大家在误删了重要的文件之后都是怎么恢复的呀&#xff1f;有什么好用的方法推荐吗&#xff1f;” 在日常使用电脑的过程中&#xff0c;误删文件的事大家可能都会遇…

鸿蒙系列-如何使用DevEco分析app的性能

如何使用DevEco分析app的性能 性能优化、启动优化、内存优化、FPS监测、性能分析&#x1f9d0; 在鸿蒙OpenHarmony开发过程中&#xff0c;开发者开发的代码&#xff08;Stage 模型&#xff09;通常以调用 ArkUI 框架的代码为主&#xff0c;主要优化的代码部分也在其中&#x…

Java“牵手”易贝商品列表数据,关键词搜索易贝商品数据接口,易贝API申请指南

ebay商城是一个网上购物平台&#xff0c;售卖各类商品&#xff0c;包括服装、鞋类、家居用品、美妆产品、电子产品等。要获取ebay商品列表和商品详情页面数据&#xff0c;您可以通过开放平台的接口或者直接访问ebay商城的网页来获取商品详情信息。以下是两种常用方法的介绍&…

2023年9月CSPM-3国标项目管理中级认证报名,来弘博创新

CSPM-3中级项目管理专业人员评价&#xff0c;是中国标准化协会&#xff08;全国项目管理标准化技术委员会秘书处&#xff09;&#xff0c;面向社会开展项目管理专业人员能力的等级证书。旨在构建多层次从业人员培养培训体系&#xff0c;建立健全人才职业能力评价和激励机制的要…

喜报 | 人大金仓荣获2023“金鼎奖”,金融系统解决方案再获认可

近日&#xff0c;由中国人民银行旗下《金融电子化》杂志社评选的2023“金鼎奖”结果正式揭晓。人大金仓“基于金仓关系型数据库供应链金融系统解决方案”&#xff0c;获得了来自中国人民银行以及银行、保险、证券、基金等各类型金融机构专家的一致认可&#xff0c;荣获“优秀网…

Redis的基本操作与应用(附相关面试题...)

一、数据类型与操作步骤 1、概述&#xff1a;Redis是一款基于内存以KV键值对存储的中间件技术&#xff0c;常用做缓存&#xff0c;支持数据持久化。 2、数据类型&#xff1a; 常用5种数据类型&#xff1a;String(字符串)、List(列表)、set&#xff08;集合&#xff09;、ha…

GaussDB数据库SQL系列-数据去重

目录 一、前言 二、数据去重应用场景 三、数据去重案例&#xff08;GaussDB&#xff09; 1、示例场景描述 2、定义重复数据 3、制定去重规则 4、创建测试数据&#xff08;GaussDB&#xff09; 5、编写去重方法&#xff08;GaussDB&#xff09; 6、附&#xff1a;全字段…

【Linux安装java环境】超简单,以jdk8为例

文章目录 前言详细步骤总结 前言 一些小伙伴在到手一台虚拟机后&#xff0c;发现需要配置java环境&#xff0c;看了文章后会发现超级简单&#xff0c;以下内容以安装jdk1.8为例。 详细步骤 查看是否存在java环境java -version若弹出找不到java命令&#xff0c;执行下一步。官…

【2023高教社杯】C题 蔬菜类商品的自动定价与补货决策 问题分析、数学模型及python代码实现

【2023高教社杯】C题 蔬菜类商品的自动定价与补货决策 1 题目 C题蔬菜类商品的自动定价与补货决策 在生鲜商超中&#xff0c;一般蔬菜类商品的保鲜期都比较短&#xff0c;且品相随销售时间的增加而变差&#xff0c; 大部分品种如当日未售出&#xff0c;隔日就无法再售。因此&…

BLE架构与开源协议栈

BLE架构&#xff1a; 简单来说&#xff0c;BLE协议栈可以分成三个部分&#xff0c;主机(host)程序&#xff0c;控制器(controller)程序&#xff0c;主机控制器接口(HCI)。如果再加上底层射频硬件和顶层用户程序&#xff0c;则构成了完整的BLE协议&#xff0c;如下图所示&#…

@Autowired为什么会报错?如何解决?

作者 | 磊哥 来源 | Java中文社群&#xff08;ID&#xff1a;javacn666&#xff09; 转载请联系授权&#xff08;微信ID&#xff1a;GG_Stone&#xff09; Autowired报错信息相信大部分程序员都遇到过&#xff0c;奇怪的是虽然代码报错&#xff0c;但丝毫不影响程序的正常执行&…

第一次去新加坡Token2049?这份行前攻略请收好

TOKEN2049是行业领先的Web3盛会&#xff0c;往届的Token2049&#xff0c;知名项目的创始人主会场遍地跑&#xff0c;了解亚洲区块链前沿&#xff0c;BD更多新项目&#xff0c;寻找潜在投资机会&#xff0c;Token2049不会让你失望。 Moonbeam中文社区今年也会出席Token2049系列活…

安科瑞智能微型断路器在某银行网点的设计与应用

安科瑞 崔丽洁 【摘要】&#xff1a;随着人工智能、移动互联等现代信息技术和通信技术在电力行业的应用&#xff0c;实现电力系统各个环节人机交互、万物互联&#xff0c;打造状态全方面感知、信息合理处理、应用便捷灵活的泛在电力物联网已成为必然趋势。本文主要对智能微型断…

C++ 围炉札记

文章目录 内存检测ProtoBufCMake、vscode、clion、Qt右值1、临时变量右值引用2、右值引用本质 函数返回std::functionPOD&#xff08;Plain Old Data&#xff09;thread_localnew / delete1、定位new运算符 可变参数模板typename和class1、C模板类头文件和实现文件分离的方法2、…

BT8959T2/5 LCD 驱动

1 Preface/Foreword LCD驱动路径&#xff1a;app/gui/lcd/ SDK默认的LCD驱动&#xff1a;lcd_gc9c01.c 2 数据结构 3 代码分析

高忆管理:科创板中签率?

科创板于当时已经成为出资者追捧的板块&#xff0c;许多新股都在科创板上市&#xff0c;那么科创板新股的中签率是高仍是低呢&#xff1f;是取决于哪些要素形成的呢&#xff1f;下面&#xff0c;本文将从多个角度剖析这个问题。 一、科创板中签率是什么&#xff1f; ​ 科创…

LeetCode 1126.查询活跃业务

数据准备 Create table If Not Exists Events (business_id int, event_type varchar(10), occurences int); Truncate table Events; insert into Events (business_id, event_type, occurences) values (1, reviews, 7); insert into Events (business_id, event_type, occu…