分享最新活动_最优秀的活动分享随便写什么都可以
  • 网站首页 自学教程 代码教程 正文

    Zblogphp百度主动推送免插件每天自动推送

    四十五 2020-05-11 代码教程 335 ℃ 0 评论
    广告位招租
    广告位招租

    百度主动推送免插件,每天自动推送,无需手动添加地址。

    为了更快速的发现站点每天产生的最新内容,百度站长平台推出主动推送工具,产品上线后,部分站长反馈使用主动推送方式的技术门槛较高。最近抽空写了一个百度自主推送的代码(本人用的zblog,其他程序拿去根据程序改一下就可用),不需要每天手动去添加地址推送,只要添加自动任务,程序自动帮你推送。

    zblog百度php主动推送代码实例亲试绝对成功!废话不多说,直接上代码。

    在根目录建立文件命名为baidu.php。

    <?php/**
     * Z-Blog PHP百度主动推送免插件
     * @author 菜鸟博客 http://www.newbii.cn
     * @param token=你的百度密钥(必要参数) num=默认推送10篇加首页
     * @date : 2020/01/06
     * @version
     */require 'zb_system/function/c_system_base.php';class Bdts{
        private $channel;
        private $url = '';
        public function __construct($title, $link, $description)
        {
            $this->url .= $this->createElement('link', $link);
        }
        public function createElement($name, $value)
        {
            return htmlspecialchars($value) . ',';
        }
        public function addItem($title, $link, $description, $date)
        {
            $this->url .= $this->createElement('link', $link);
        }
        public function saveURL()
        {
            return $this->url;
        }}function getData($api,$postData = '') {
        if (!$api) {
            return false;
        }
        if (empty($postData)) {
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL, $api);
            curl_setopt($ch, CURLOPT_HEADER, 0);
            curl_setopt($ch, CURLOPT_TIMEOUT, 20); 
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
            $result = curl_exec($ch);
            curl_close($ch);
            } else {
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL, $api);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_POST, 1);
    	curl_setopt($ch, CURLOPT_TIMEOUT, 20); 
            curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
            $result = curl_exec($ch);
            curl_close($ch);
        }
        if ($result) {
            return $result;
        } else {
            return null;
        }}function baiduTs($urls){
        $urls=substr($urls,0,-1);
        $urls = explode(",",$urls);
        $host=parse_url($urls[0]);
        if($host['scheme'] == 'http') $hosts = $host['host'];
        else $hosts = 'https://'.$host['host'];
        $api = 'http://data.zz.baidu.com/urls?site='.$hosts.'&token='.$_GET["token"]; 
        $result = getData($api,implode("\n", $urls));
    	$result_json = json_decode($result, true);
        echo '推送总数('.count($urls).')<br />';
    	if(isset($result_json['remain'])) {
    		echo "已成功推送URL:<br />";
        	foreach ($urls as $vid){
    			  echo $vid.'<br />';
    		 } 
        } else {
        	echo "推送失败,详情错误描述请参考下方推送反馈<br />";
        }
        echo '返回状态码:'.$result.'<br />';
        echo '<a href="/college/courseinfo?id=267&amp;page=2#h2_article_title12" target="_blank">Q:如何查看推送反馈?</a>';}function ViewBdts(){
        global $zbp;
        $num = isset($_GET['num']) ? $_GET['num'] : '10';
        if (!isset($_GET["token"])) {
            Http404();
            die;
        }
        $json = new Bdts($zbp->name, $zbp->host, $zbp->subname);
        $w = array(array('=', 'log_Status', 0));
        $articles = $zbp->GetArticleList(
            '*',
            $w,
            array('log_PostTime' => 'DESC'),
            array($num),
            null
        );
        foreach ($articles as $article) {
            $json->addItem($article->Title, $article->Url, ($zbp->option['ZC_RSS_EXPORT_WHOLE'] == true ? $article->Content : $article->Intro), $article->PostTime);
        }
        
        echo baiduTs($json->saveURL());
        return true;}ViewBdts();RunTime();

    然后保存为baidu.php,直接上传到网站的根目录,直接在浏览器输入https://www.lishiq.com/baidu.php?token=你的百度密钥&num=10(网址改成自己的) 就能看到主动推送成功!

    参数说明:(已自动识别https,这个不用担心)

    token=你的百度密钥(必要参数) num=默认推送10篇加首页(可选)

    如果使用宝塔面板 可以设置每天访问计划 

    推送.jpg

    本文暂时没有评论,来添加一个吧(●'◡'●)

    欢迎 发表评论:

    请填写验证码
    最近发表
    网站分类