TypechoJoeTheme

WPBKJ博客

wpbkj

愿你一生努力,一生被爱!

[SEO优化]-百度站长‘API提交’PHP自动推送学习(二)-单页面自动推送

2021-06-04
/
70 阅读
/
推送成功
06/04

简介:[SEO优化]-百度站长‘API提交’PHP自动推送学习(一)-简介
在这一篇,我们学习如何使用PHP进行单页面自动推送

使用PHP实现不同页面访问时自动推送

首先把完整代码奉上、下面再讲解:

<?php
    //构建函数判断当前页面是否为https
    function is_https() {
        if ( !empty($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) !== 'off') {
            return true;
        } elseif ( isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https' ) {
            return true;
        } elseif ( !empty($_SERVER['HTTP_FRONT_END_HTTPS']) && strtolower($_SERVER['HTTP_FRONT_END_HTTPS']) !== 'off') {
            return true;
        }else{
            return false;
        }
    }
    $hs=is_https();
    //判断是否为https若是,则为变量qz赋值为https,若不是则赋值为http
    if($hs){
        $qz="https";
    }else{
        $qz="http";
    }
    //获取当前页面url
    $url=$qz.'://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
//判断域名是否符合
    if($_SERVER['HTTP_HOST']=='(修改)在这里输入域名(要和百度站长域名相同,例:www.wpbkj.com,不要斜杠、不要前缀)'){
    $urls=array($url);
$api = '(修改)在这里输入接口调用地址';
$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);
$result = curl_exec($ch);
$RE="推送成功";
    }else{
$RE="推送失败,请检查token是否与页面对应";
    }
//(修改)您可将变量RE放到任何你想在站中显示的地方,这里直接输出,下面讲
    echo $RE;
    ?>

如果你想把它用到自己网站上,请按照注释中提示修改的地方做相应的改动

详细介绍:

首先理清一下思路
我们大概需要解决以下几点:

1、自动获取当前页面全网址
2、自动推送后分析返回信息

1、自动获取当前页面全网址

这里需要涉及到PHP全局变量的知识
我们用$_SERVER['HTTP_HOST']获取当前域名
用$_SERVER['REQUEST_URI']获取域名后缀
使用$_SERVER['HTTPS']判断是否为https

代码(加注释):

//构建函数判断当前页面是否为https
    function is_https() {
        if ( !empty($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) !== 'off') {
            return true;
        } elseif ( isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https' ) {
            return true;
        } elseif ( !empty($_SERVER['HTTP_FRONT_END_HTTPS']) && strtolower($_SERVER['HTTP_FRONT_END_HTTPS']) !== 'off') {
            return true;
        }else{
            return false;
        }
    }
    $hs=is_https();
    //判断是否为https若是,则为变量qz赋值为https,若不是则赋值为http
    if($hs){
        $qz="https";
    }else{
        $qz="http";
    }
    //获取当前页面url
    $url=$qz.'://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
    echo '当前页面网址为:'.$url;

结果:

2、自动推送

获取网址成功了、下面我们只需要简单的修改之前简介中提到的代码就行了
代码(加注释):

//判断域名是否相符
if($_SERVER['HTTP_HOST']=='www.wpbkj.com'){
    $urls=array($url);
$api = 'http://data.zz.baidu.com/urls?site=https://www.wpbkj.com&token=*******';
$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);
$result = curl_exec($ch);
//返回推送结果
$RE="推送成功";
    }else{
$RE="推送失败,请检查token是否与页面对应";
    }
//直接输出结果
    echo $RE;

试运行

结果:

成功

实战应用

下面我们就将代码稍作修改运用到网站中去
看一下我的效果:

这里提供一个简单配置方法

第一步

将本文开头的代码修改后保存到bdts.php文件中并放到网站根目录下
然后在你需要推送的页面适合位置放入以下代码(必须为PHP页面):

<?php
include("bdts.php");
echo $RE;
?>

看是否有提示信息出现,判断是否成功
这一篇就到这里了、下一篇我们将如何通过输入指定网址进行推送
如果觉得有用的话,点个赞吧,如有问题,联系方式见“关于”页面

百度SEOAPI提交自动推送
朗读
赞 · 5
赞赏
感谢您的支持,我会继续努力哒!

三合一收款

下面三种方式都支持哦

微信
QQ
支付宝
打开支付宝/微信/QQ扫一扫,即可进行扫码打赏哦
版权属于:

WPBKJ博客

本文链接:

https://www.wpbkj.com/archives/bdseoapi2.html(转载时请注明本文出处及文章链接)

Copyright© 2018-2021WPBKJ网络工作室
ALL RIGHTS RESERVED.
备案信息:豫ICP备2021004069号-1

豫公网安备 41170202000381号


萌ICP备 20218746号
MySSL 安全签章
知识共享许可协议
本站所有作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。