百度实时推送api接口应用示例


Posted in PHP onOctober 21, 2014

网站质量不错的网站可以在百度站长平台/数据提交/sitemap栏目下看到实时推送的功能, 目前这个工具是邀请开放, 百度的实时推送的api接口可以实时推送我们新发布的文章, 保证百度在第一时间收录.
 
百度站长平台 http://zhanzhang.baidu.com/

百度实时推送api接口应用示例

打开百度站长平台, 点开实时推送的添加新数据接口获得带token的api推送地址:
 
  http://ping.baidu.com/sitemap?site=www.yourdomain.com&resource_name=sitemap&access_token=xxxxxxx 
 

分享一段网友写的php实时推送代码: 

php 实时推送新发布的文章

socketopen方式推送sitemap

 function sitemap_ping_baidu($urls){

         $baidu_ping_url = 'ping.baidu.com';

         $get = '/sitemap?site=www.yourdomain.com&resource_name=sitemap&access_token=xxxxxxx';

         $port=80;

         if ( ( $io = fsockopen( $baidu_ping_url, $port, $errno, $errstr, 50 ) ) !== false )  {

             $send = "POST $get HTTP/1.1"."rn";

             $send .= 'Accept: */*'."rn";

             $send .= 'Cache-Control: no-cache'."rn";

  

           $send .= 'Host: '.$baidu_ping_url."rn";

           $send .= 'Pragma: no-cache'."rn";

           //$send .= "Referer: http://".$url.$get."rn";

           //$send .= 'User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)'."rn";

            

           $xml = '<?xml version="1.0" encoding="UTF-8"?><urlset>';

           foreach($urls as $url){

               $xml .= '<url>';

               $xml .= '<loc><![CDATA['.$url.']]></loc>';

               $xml .= '<lastmod>'.date('Y-m-d').'</lastmod>';

               $xml .= '<changefreq>monthly</changefreq>';

               $xml .= '<priority>0.8</priority>';

               $xml .= '</url>';

           }

           $xml .= '</urlset>';
           $send .= 'Content-Length:'.strlen($xml)."rn";

           $send .= "Connection: Closernrn";
           $send .= $xml."rn";
           fputs ( $io, $send );
           $return = '';

           while ( ! feof ( $io ) )

           {

               $return .= fread ( $io, 4096 );

           }

           return $return;

       }else{

           return false;

       }

   }

$return = sitemap_ping_baidu(array('http://www.yourdomain.com/a.php?id=1'));

推送后百度会返回的xml文档

 <?xml version="1.0" encoding="UTF-8"?>

     <methodResponse>

         <params>

             <param>

                 <value>

                     <int>200</int>

                 </value>

             <param>

         </params>      

     </methodResponse>

状态码含义如下

200 无使用方式错误,需要进一步观察返回的内容是否正确
400 必选参数未提供
405 不支持的请求方式,我们只支持POST方式提交数据
411 HTTP头中缺少Content-Length字段
413 推送的数据过大,超过了10MB的限制
422 HTTP头中Content-Length声明的长度和实际发送的数据长度不一致
500 站长平台服务器内部错误
PHP 相关文章推荐
Zend公司全球首推PHP认证
Oct 09 PHP
探讨PHP调用时间格式的参数详解
Jun 06 PHP
php求正负数数组中连续元素最大值示例
Apr 11 PHP
PHP程序员基本要求和必备技能
May 09 PHP
PHP类的反射用法实例
Nov 03 PHP
PHP图片处理之使用imagecopyresampled函数实现图片缩放例子
Nov 19 PHP
PHP 正则表达式小结
Feb 12 PHP
visual studio code 调试php方法(图文详解)
Sep 15 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
Sep 22 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
Feb 11 PHP
php+redis实现消息队列功能示例
Sep 19 PHP
Laravel 之url参数,获取路由参数的例子
Oct 21 PHP
php之curl实现http与https请求的方法
Oct 21 #PHP
教你如何开启shopnc b2b2c 伪静态
Oct 21 #PHP
PHP大转盘中奖概率算法实例
Oct 21 #PHP
PHP与MYSQL中UTF8编码的中文排序实例
Oct 21 #PHP
php cookie中点号(句号)自动转为下划线问题
Oct 21 #PHP
微信公众平台网页授权获取用户基本信息中授权回调域名设置的变动
Oct 21 #PHP
php时间戳格式化显示友好的时间函数分享
Oct 21 #PHP
You might like
PHP 组件化编程技巧
2009/06/06 PHP
使用php shell命令合并图片的代码
2011/06/23 PHP
PHP大转盘中奖概率算法实例
2014/10/21 PHP
PHP实现生成推广海报的方法详解
2018/03/14 PHP
php中isset与empty函数的困惑与用法分析
2019/07/05 PHP
laravel dingo API返回自定义错误信息的实例
2019/09/29 PHP
Laravel开启跨域请求的方法
2019/10/13 PHP
js判断浏览器的比较全的代码
2007/02/13 Javascript
nullJavascript中创建对象的五种方法实例
2013/05/07 Javascript
javascript同页面多次调用弹出层具体实例代码
2013/08/16 Javascript
jquery将一个表单序列化为一个对象的方法
2013/12/02 Javascript
JS烟花背景效果实现方法
2015/03/03 Javascript
JavaScrip常见的一些算法总结
2015/12/28 Javascript
jquery+json实现动态商品内容展示的方法
2016/01/14 Javascript
理解javascript定时器中的单线程
2016/02/23 Javascript
很实用的js选项卡切换效果
2016/08/12 Javascript
微信小程序 页面跳转事件绑定的实例详解
2017/09/20 Javascript
js+canvas实现滑动拼图验证码功能
2018/03/26 Javascript
微信小程序页面间传值与页面取值操作实例分析
2019/04/30 Javascript
countUp.js实现数字滚动效果
2019/10/18 Javascript
vue 解决移动端弹出键盘导致页面fixed布局错乱的问题
2019/11/06 Javascript
[01:00:44]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第三局
2016/03/04 DOTA
Python合并字符串的3种方法
2015/05/21 Python
Linux中安装Python的交互式解释器IPython的教程
2016/06/13 Python
python向已存在的excel中新增表,不覆盖原数据的实例
2018/05/02 Python
用Python逐行分析文件方法
2019/01/28 Python
django 实现手动存储文件到model的FileField
2020/03/30 Python
C++面试题:关于链表和指针
2013/06/05 面试题
护理专业的自荐信
2013/10/22 职场文书
大学考试作弊检讨书
2014/01/30 职场文书
政府绩效管理实施方案
2014/05/04 职场文书
三八妇女节超市活动方案
2014/08/18 职场文书
大学生撤销处分思想汇报
2014/09/12 职场文书
2014年妇联工作总结
2014/11/21 职场文书
企业投资意向书
2015/05/09 职场文书
python3.9之你应该知道的新特性详解
2021/04/29 Python