php 实时推送代码

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

百度站长平台 http://zhanzhang.baidu.com/

打开百度站长平台, 点开实时推送的添加新数据接口获得带token的api推送地址:

http://ping.baidu.com/sitemap?site=www.yourdomain.com&resource_name=sitemap&access_token=xxxxxxx

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

php 实时推送新发布的文章

fsocketopen方式推送sitemap

 1 function sitemap_ping_baidu($urls){
 2         $baidu_ping_url = ‘ping.baidu.com‘;
 3         $get = ‘/sitemap?site=www.yourdomain.com&resource_name=sitemap&access_token=xxxxxxx‘;
 4         $port=80;
 5         if ( ( $io = fsockopen( $baidu_ping_url, $port, $errno, $errstr, 50 ) ) !== false )  {
 6             $send = "POST $get HTTP/1.1"."rn";
 7             $send .= ‘Accept: */*‘."rn";
 8             $send .= ‘Cache-Control: no-cache‘."rn";
 9
10             $send .= ‘Host: ‘.$baidu_ping_url."rn";
11             $send .= ‘Pragma: no-cache‘."rn";
12             //$send .= "Referer: http://".$url.$get."rn";
13             //$send .= ‘User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)‘."rn";
14
15             $xml = ‘<?xml version="1.0" encoding="UTF-8"?><urlset>‘;
16             foreach($urls as $url){
17                 $xml .= ‘<url>‘;
18                 $xml .= ‘<loc><![CDATA[‘.$url.‘]]></loc>‘;
19                 $xml .= ‘<lastmod>‘.date(‘Y-m-d‘).‘</lastmod>‘;
20                 $xml .= ‘<changefreq>monthly</changefreq>‘;
21                 $xml .= ‘<priority>0.8</priority>‘;
22                 $xml .= ‘</url>‘;
23             }
24             $xml .= ‘</urlset>‘;
25
26             $send .= ‘Content-Length:‘.strlen($xml)."rn";
27             $send .= "Connection: Closernrn";
28
29             $send .= $xml."rn";
30
31             fputs ( $io, $send );
32
33             $return = ‘‘;
34             while ( ! feof ( $io ) )
35             {
36                 $return .= fread ( $io, 4096 );
37             }
38             return $return;
39         }else{
40             return false;
41         }
42     }
43 $return = sitemap_ping_baidu(array(‘http://www.yourdomain.com/a.php?id=1‘));

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

 1 <?xml version="1.0" encoding="UTF-8"?>
 2     <methodResponse>
 3         <params>
 4             <param>
 5                 <value>
 6                     <int>200</int>
 7                 </value>
 8             <param>
 9         </params>
10     </methodResponse>

状态码含义如下

反馈码 说明

200 无使用方式错误,需要进一步观察返回的内容是否正确
400 必选参数未提供
405 不支持的请求方式,我们只支持POST方式提交数据
411 HTTP头中缺少Content-Length字段
413 推送的数据过大,超过了10MB的限制
422 HTTP头中Content-Length声明的长度和实际发送的数据长度不一致
500 站长平台服务器内部错误

php 实时推送代码

时间: 2024-10-17 21:45:30

php 实时推送代码的相关文章

基于HTTP协议之WEB消息实时推送技术原理及实现

很早就想写一些关于网页消息实时推送技术方面的文章,但是由于最近实在忙,没有时间去写文章.本文主要讲解基于 HTTP1.1 协议的 WEB 推送的技术原理及实现.本人曾经在工作的时候也有做过一些用到网页消息实时推送的项目,但是当时实现的都不是很完美,甚至有时候是通过 Ajax 轮训的方式实现.在网上也找过不少的资料,真正说到点子上的几乎没有,很多文章大都是长篇大论,说了一些新有名字,什么“HTTP 长连接”,“实时推送”,“Comet 长连接推送技术”等.但真正提到如何实现实时推送的文章倒是没有看

【原创】node+express+socket搭建一个实时推送应用

技术背景 Web领域的实时推送技术,也被称作Realtime技术.这种技术要达到的目的是让用户不需要刷新浏览器就可以获得实时更新. 应用场景: 监控系统:后台硬件热插拔.LED.温度.电压发生变化 即时通信系统:其它用户登录.发送信息 即时报价系统:后台数据库内容发生变化 技术实现方案:ajax long polling(ajax长轮询),comet(http长连接).socket 这里有篇文章介绍了这几种技术,可以看一下. http://www.ibm.com/developerworks/c

使用Nodejs实现实时推送MySQL数据库最新信息到客户端

下面我们要做的就是把MySQL这边一张表数据的更新实时的推送到客户端,比如MySQL这边表的数据abc变成123了,那使用程序就会把最新的123推送到每一个连接到服务器的客户端.如果服务器的连接的客户端为0,也就是这时候没有客户端连接,那程序也不会执行推送信息的代码以免产生不必要的资源消耗,当有客户端连上的时候又开始推送.demo的代码大家可以到下面的Download按钮去下载. 要运行首先我们要安装nodejs要用到的mysql模块: $ npm install mysql 更多关于mysql

nodejs+socketio+redis实现前端消息实时推送

nodejs+socketio+redis实现前端消息实时推送 1. 后端部分 发送redis消息 可以参考此篇实现(直接使用Jedis即可) http://www.cnblogs.com/binyue/p/4763352.html 2.后端部分: 接收redis消息 var redis; if(process.argv.length <= 2){ redis = require('redis').createClient(); }else{ redis = require('redis').c

nodejs实现百度实时推送

想要加快百度收录,肯定免不了链接提交吧,当然链接提交的方式有很多种,今天来说一下百度的实时推送.. 第一次看到这post请求确实有点萌逼,我自己是做前端的对后台接触确实不多,见到的前端发送post请求不是这样发送的.后来研究才知道,原来这个post请求是由服务器来发送的.那么nodejs如何发送这个post请求? //需要推送的网站链接 var content = "https://www.meetqy.com/article?article_id=42"; //对应配置post推送的

远程推送代码的添加

项目一添加方式: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 方法 中加入要调用的推送 推送分iOS8来处理 项目二添加方式: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)laun

用node.js(socket.io)实现数据实时推送

在做商品拍卖的时候,要求在商品的拍卖页面需要实时的更新当前商品的最高价格.实现的方式有很多,比如: 1.setInterval每隔n秒去异步拉取数据(缺点:更新不够实时) 2. AJAX轮询方式方式推送数据(缺点:服务端需要在死循环中反复查询数据库) 3.websocket推送数据(缺点:仅支持html5标准的浏览器) socket.io的简要介绍 所有客户端都通过socket.io挂在nodejs服务器上(注意: 只是挂着,不需要任何循环,因为它是事件驱动的):需要推送消息了,服务器就与nod

关于 百度-站长工具 sitemap 实时推送 那点事

相信 站长们对 百度 站长工具 一定不陌生吧!网站地图(sitemap) 文件,站长们也一点都很 熟悉!网站生成 网站地图文件,这样有助于百度蜘蛛在收录时,找到自己喜欢的格式,更好的收录你的网站内容!但这是被动的,只有百度定时来访问!内容收录不是很及时. 但最近 发现百度 站长工具 的 "数据提交"-->"Sitemap" 里面多了一个"实时推送" 功能! 实时推送功能:就是在你发布新内容的时候,通过自己的程序 向百度的 数据推送接口 提交

百度自动推送代码的作用

在百度的搜索资源平台下的站点支持模块中有一个连接提交,下有一段代码叫做自动推送代码,只要在这个平台下认证了你的网站就可以,将自动推送代码加进去.我在https://www.jianzhumuju.com方圆扣这个站点上做了一下尝试,看看这段代码到底有什么作用,能够起到多大的效果,下面是这段代码的截图.在加入代码的时候,百度收录这个站点页面的索引量是1123,今天我们这段自动推送的代码加上,看看在半个月之后的效果.是不是收录增加,自动推送是不是能够让我们的网址真的能够及时推送给百度,百度的收录速度