百度数据实时推送解决方案

原创 tonny  2017-12-17 21:44  阅读 1,991 次 评论 0 条

关于百度实时推送的问题,很多人再问。

其实参考百度文章很容易自己写出来的,但是有些人可能太忙,所以这里总结一下:

第一步:打开“include/extends.func.php”,在最底部加上如下代码:

function tobaidu($url,$siteurl,$access_token,$lastmod='1',$changefreq='daily',$priority='0.8'){
if($lastmod)
{
$ntime=time();
$now=date('Y-m-d',$ntime);
}
$data='<?xml version="1.0" encoding="UTF-8"?>';
$data.='   <urlset>';
$data.='       <url>';
$data.='           <loc><![CDATA['.$url.']]></loc>';
$data.='           <lastmod>'.$lastmod.'</lastmod>';
$data.='           <changefreq>'.$changefreq.'</changefreq>';
$data.='           <priority>'.$priority.'</priority>';
$data.='       </url>';
$data.='   </urlset>';

$pingurl="http://ping.baidu.com/sitemap?site=".$siteurl."&resource_name=sitemap&access_token=".$access_token; //你的接口地址
$curl= curl_init();// 启动一个CURL会话
curl_setopt($curl, CURLOPT_URL,$pingurl);// 要访问的地址
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);// 对认证证书来源的检查
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1);// 从证书中检查SSL加密算法是否存在
curl_setopt($curl, CURLOPT_USERAGENT,"curl/7.12.1");// 模拟用户使用的浏览器
curl_setopt($curl, CURLOPT_COOKIE,$cookie);
curl_setopt($curl, CURLOPT_REFERER,"");
curl_setopt($curl, CURLOPT_POST, 1);// 发送一个常规的Post请求
curl_setopt($curl, CURLOPT_POSTFIELDS,$data);// Post提交的数据包
curl_setopt($curl, CURLOPT_TIMEOUT, 30);// 设置超时限制防止死循环
curl_setopt($curl, CURLOPT_HEADER, 0);// 显示返回的Header区域内容
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);// 获取的信息以文件流的形式返回
$tmpInfo= curl_exec($curl);// 执行操作
if(curl_errno($curl)) {
echo'Errno'.curl_error($curl);//捕抓异常
}
curl_close($curl);// 关闭CURL会话
return$tmpInfo;// 返回数据
}注意在添加修改时候请使用专业的记事本,比如editpuls或者notepad++之类的,千万不要用系统自带的记事本,原因:系统自带的记事本会加入utf-8 bom,直接导致网站会多出一行空格。

第二步:打开“include/content.class.php”文件,在文件的 386行加上调用方法:

/*提交给百度*/
tobaidu("http://你的网址".$updateinfo['url'],"你的网址","xxxxx");

本文地址:https://www.92q.net/290.html
关注我们:请关注一下我们的微信公众号:扫描二维码塔铃的公众号
版权声明:本文为原创文章,版权归 tonny 所有,欢迎分享本文,转载请保留出处!

发表评论


表情