PHP版访客访问文章自动推送百度资源平台,增加收录

by 叶开楗 · 2021-02-23 · 4064 次阅读

前言

有人要,我就单独从主题提取出来了! 原来有百度自动图推送有js版本,现在好像不能用了。我就随便整了个PHP版本的效果还是一样的!

效果图

请输入图片描述

自动推送代码

这个是判断文章是否已经收录。未收录推送以收录不推送以免造成重复推送!!

        <?php
        
        $cxurl='https://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
        function okBaidu($url){
         $url='http://www.baidu.com/s?wd='.$url;
         $curl=curl_init();
         curl_setopt($curl,CURLOPT_URL,$url);
         curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
         $rs=curl_exec($curl);
         curl_close($curl);
         if(!strpos($rs,'提交网址')){
            echo "文章状态:已收录~";
         }else{

                $pageURL = (@$_SERVER['HTTPS'] == 'on') ? 'https://' : 'http://';
                $pageURL .= $_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF'];     
                $urls = array(
                    $pageURL
                );
            $api = 'http://data.zz.baidu.com/urls?site=https://jiba.icu&token=OWYiTZcIYZ1dwEcD';  //自行修改 百度 接口调用地址
            $ch = curl_init();
            $options =  array(
                CURLOPT_URL => $api,
                CURLOPT_POST => true,
                CURLOPT_RETURNTRANSFER => true,
                CURLOPT_POSTFIELDS => implode("\n", $urls),
                CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
            );
            curl_setopt_array($ch, $options);
                //第二种 的返bai结果是以json形式。
                $res=json_decode(curl_exec($ch),true);
        
                $ed = ($res['remain']);//起作用
                $cg = ($res['success']);//起作用    
    
                echo "文章状态:未收录,以推送~ 【今日剩余额度:$ed  条】";


         }
        }
        echo okBaidu($cxurl);
                    
        ?>

不判断是否收录

这种是无脑死推版本,管你收录没收录就死推送 哈哈!

                $pageURL = (@$_SERVER['HTTPS'] == 'on') ? 'https://' : 'http://';
                $pageURL .= $_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF'];     
                $urls = array(
                    $pageURL
                );
            $api = 'http://data.zz.baidu.com/urls?site=https://jiba.icu&token=OWYiTZcIYZ1dwEcD';  //自行修改 百度 接口调用地址
            $ch = curl_init();
            $options =  array(
                CURLOPT_URL => $api,
                CURLOPT_POST => true,
                CURLOPT_RETURNTRANSFER => true,
                CURLOPT_POSTFIELDS => implode("\n", $urls),
                CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
            );
            curl_setopt_array($ch, $options);
                //第二种 的返bai结果是以json形式。
                $res=json_decode(curl_exec($ch),true);
        
                $ed = ($res['remain']);//起作用
                $cg = ($res['success']);//起作用    
    
                echo "文章状态:未收录,以推送~ 【今日剩余额度:$ed  条】";

一些参数

状态码为200,可能返回以下字段:

字段是否必选参数类型说明
successint成功推送的url条数
remainint当天剩余的可推送url条数
not_same_sitearray由于不是本站url而未处理的url列表
not_validarray不合法的url列表

调用方法: $ed = ($res['remain']);

更新

  • 2021.2.25

前面的php查询文章百度是否收录,很不稳定,于是改成API接口查询收录!

注意:服务器需要启用 file_get_contents 不懂的请百度不过多介绍

    $cxurl='https://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
            $cx=file_get_contents('https://api.btstu.cn/bdsite/api.php?url='.$cxurl);
            $arr = json_decode($cx, true);
            $pd= $arr['msg'];
            if($pd == '该网址未收录') {
                
                $pageURL = (@$_SERVER['HTTPS'] == 'on') ? 'https://' : 'http://';
                $pageURL .= $_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF'];     
                $urls = array(
                    $pageURL
                );
            $api = 'http://data.zz.baidu.com/urls?site=https://jiba.icu&token=OWYiTZcIYZ1dwEcD';
            $ch = curl_init();
            $options =  array(
                CURLOPT_URL => $api,
                CURLOPT_POST => true,
                CURLOPT_RETURNTRANSFER => true,
                CURLOPT_POSTFIELDS => implode("\n", $urls),
                CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
            );
            curl_setopt_array($ch, $options);
                //第二种 的返bai结果是以json形式。
                $res=json_decode(curl_exec($ch),true);
        
                $ed = ($res['remain']);//起作用
                $cg = ($res['success']);//起作用    
    
                echo "百度资源平台:推送成功~ 【今日剩余额度:$ed  条】";
                
            } else{
                
            echo '文章状态:已收录~'; 
            
            }        

版权声明:本文使用CC BY-NC-ND 4.0许可

文章发表于:2021-02-23 19:14:34