PHP获取备案信息并通过企业微信通知是否备案完成

在各厂商(腾讯云、阿里云)进行接入备案时,通过特定接口获取备案通过的时间来判断是否备案完成,并设置计划任务,定时访问此URL,如果备案完成,则使用企业微信的自建应用推送备案完成的信息。

主程序:

<?php
header("Access-Control-Allow-Origin:*");
header("Access-Control-Allow-Methods:GET");
header("Access-Control-Allow-Headers:x-requested-with,content-type");
header("Content-Type:text/html,application/json; charset=utf-8");
date_default_timezone_set("Asia/Shanghai");
$domain = 'xxxx.com.cn';
if (!$domain) {
    exit(json_encode(array('msg' => '缺少参数','result' => 0,), JSON_UNESCAPED_UNICODE));
}
$timeStamp = time();
$authKey = md5("testtest" . $timeStamp);
$token = json_decode(curl_post("auth", "authKey=$authKey&timeStamp=$timeStamp", "application/x-www-form-urlencoded;charset=UTF-8", "0"));
$token = $token->params->bussiness;
$query = json_decode(curl_post("icpAbbreviateInfo/queryByCondition", '{"pageNum":"","pageSize":"","unitName":"' . $domain . '"}', "application/json;charset=UTF-8", $token));
$query = json_encode($query->params->list);
$query = str_replace("[", "", $query);
$query = json_decode(str_replace("]", "", $query));
$icp = $query->serviceLicence;
$domain1 =$query->domain;
$unitName = $query->unitName;
$natureName = $query->natureName;
$updateRecordTime = $query->updateRecordTime;
$limitAccess = $query->limitAccess;
if (!$token) {
    $icp = "服务器请求频率过高,请稍后再试";
    $msg = "查询失败";
    $code = "0";
} elseif (!$icp) {
    $icp = "未备案";
    $msg = "查询成功";
    $code = "1";
} else {
    $msg = "查询成功";
    $code = "1";
}
$json = array(
    'icp' => $icp,
    'domain'=>$domain,
    'unitName' => $unitName,
    'natureName' => $natureName,
    'time' => $updateRecordTime,
    'limitAccess'=>$limitAccess,
    'msg' => $msg,
    'result' => $code
);
$json1 =  json_encode($json, JSON_UNESCAPED_UNICODE);
$beian = "备案号:".$icp."\n域名:".$domain."\n备案时间:".$updateRecordTime."\n查询时间:".date("Y-m-d H:i:s",time());
include "send.php";
$qy = new send();
$thisTime = date("Hi",time());
if($updateRecordTime>'2000-01-01'){
    $qy->qysend($beian);
    echo $json1;
}else{
    echo $json1;
}

function curl_post($url, $data, $Content, $token) {
    $ip = "101.".mt_rand(1,255).".".mt_rand(1,255).".".mt_rand(1,255);
    $ch = curl_init();
    $headers = array(
        "Content-Type: $Content",
        "Origin: https://beian.miit.gov.cn/",
        "Referer: https://beian.miit.gov.cn/",
        "token: $token",
        "User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36",
        "CLIENT-IP: $ip",
        "X-FORWARDED-FOR: $ip"
    );
    curl_setopt($ch, CURLOPT_URL, "https://hlwicpfwc.miit.gov.cn/icpproject_query/api/" . $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    $content = curl_exec($ch);
    curl_close($ch);
    return $content;
}
企业微信PHP接口:

qyToken.php

<?php
class qyToken{
    function qyDes(){
        $qyID="";//企业微信的企业ID
        $qyYYSecret="";//企业微信的企业应用密钥
        $agentid = "";//企业微信的企业应用ID
        return array("qid"=>$qyID,"qys"=>$qyYYSecret,"aid"=>$agentid);
    }
    function qyTK(){
        $qdDes = $this->qyDes();
        $qyID=$qdDes['qid'];//企业微信的企业ID
        $qyYYSecret=$qdDes['qys'];//企业微信的企业应用密钥
        $redis = new Redis();
        $redis->connect('127.0.0.1', 6379);
        $qyToken = $redis->exists("ICPToken");
        if ($qyToken==0){
            $url1 = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid='.$qyID.'&corpsecret='.$qyYYSecret;
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL, $url1);
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            $output = curl_exec($ch);
            curl_close($ch);
            $token = json_decode($output)->access_token;
            $redis->set("ICPToken",$token);
            $redis->expire("ICPToken","7200");
        }
        return $redis->get("ICPToken");
    }
}

send.php

<?php
class send{
    function qysend($test1){
        include "qyToken.php";
        $qy = new qyToken();
        $token = $qy->qyTK();
        $agentid = $qy->qyDes()['aid'];

        $url1 = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token='.$token;
        $ch = curl_init();
        $data1 = array("content"=>$test1);
        $data = json_encode(array("touser"=>"@all","msgtype"=>"text","agentid"=>$agentid,"text"=>$data1));
        curl_setopt($ch, CURLOPT_URL, $url1);
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        $output = curl_exec($ch);
        curl_close($ch);
//        echo $output;

    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
您好,关于企业微信群机器人通过PHP查询数据库并发送信息,可以按照以下步骤进行实现: 1. 创建企业微信群机器人 首先需要在企业微信后台创建一个群机器人,并获取到机器人的Webhook地址。 2. 连接数据库 使用PHP连接您的数据库,可以使用PDO或mysqli等方式进行连接。根据您的具体情况,设置数据库主机、用户名、密码、数据库名等参数。 ```php $host = 'your_database_host'; $user = 'your_database_username'; $pass = 'your_database_password'; $dbname = 'your_database_name'; // 使用PDO连接数据库 try { $dsn = "mysql:host=$host;dbname=$dbname;charset=utf8mb4"; $pdo = new PDO($dsn, $user, $pass); } catch (PDOException $e) { echo 'Connection failed: ' . $e->getMessage(); exit; } ``` 3. 查询数据库并发送信息 使用SQL语句查询您的数据库,并将查询结果发送到企业微信群机器人。可以使用企业微信提供的API接口进行消息发送。 ```php // 查询数据库 $sql = "SELECT * FROM your_table"; $stmt = $pdo->prepare($sql); $stmt->execute(); $rows = $stmt->fetchAll(PDO::FETCH_ASSOC); // 发送消息到企业微信群机器人 $webhook = 'your_webhook_url'; foreach ($rows as $row) { $content = $row['your_content_field']; $data = array( 'msgtype' => 'text', 'text' => array( 'content' => $content, ), ); $postData = json_encode($data); $options = array( 'http' => array( 'method' => 'POST', 'header' => 'Content-type:application/json', 'content' => $postData, 'timeout' => 15 * 60, ), ); $context = stream_context_create($options); $response = file_get_contents($webhook, false, $context); } ``` 以上代码实现了通过PHP查询数据库并发送信息企业微信群机器人的功能。您可以根据具体需求进行修改和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

慕慕慕慕公子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值