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