百度ping方法使用示例 自动ping百度


Posted in PHP onJanuary 26, 2014

使用方法访问的时候自动ping到百度,我的方法是生成缓存,更新缓存的时候自动ping百度,返回结果为0表示成功。

$pingarcurl='http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$arcping = new Ping('三水点靠木',$pingarcurl,get_domain(),'https://3water.com');
$arcping->pingbaidu();
class ping{
private$title;//博客名称
private$hosturl;//博客首页地址
private$arturl;//新发文章地址
private$rssurl;//博客rss地址
private$baiduXML;//百度XML结构
private$baiduRPC;//百度XML地址
publicfunction__construct($title,$arturl,$hosturl,$rssurl)
{
if(empty($title)||empty($arturl))
returnfalse;
$this->title=$title;
$this->hosturl=$hosturl;
$this->rssurl=$rssurl;
$this->arturl=$arturl;
$this->baiduRPC='http://ping.baidu.com/ping/RPC2';
$this->baiduXML='<?xmlversion=\"1.0\"encoding=\"UTF-8\"?>';
$this->baiduXML.='<methodCall>';
$this->baiduXML.='<methodName>weblogUpdates.extendedPing</methodName>';
$this->baiduXML.='<params>';
$this->baiduXML.='<param><value><string>'.$this->hosturl.'</string></value></param>';
$this->baiduXML.='<param><value><string>'.$this->title.'</string></value></param>';
$this->baiduXML.='<param><value><string>'.$this->arturl.'</string></value></param>';
$this->baiduXML.='<param><value><string>'.$this->rssurl.'</string></value></param>';
$this->baiduXML.='</params>';
$this->baiduXML.='</methodCall>';
}
publicfunctionpingbaidu()
{
$ch=curl_init();
$headers=array(
'User-Agent:request',
'Host:ping.baidu.com',
'Content-Type:text/xml',
);
curl_setopt($ch,CURLOPT_URL,$this->baiduRPC);
curl_setopt($ch,CURLOPT_HEADER,1);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_HTTPHEADER,$headers);
curl_setopt($ch,CURLOPT_POSTFIELDS,$this->baiduXML);
$res=curl_exec($ch);
curl_close($ch);
//return$res;
return(strpos($res,"<int>0</int>"))?true:false;
}
}
functionget_domain()
{
/*协议*/
$protocol='http://';
/*域名或IP地址*/
if(isset($_SERVER['HTTP_X_FORWARDED_HOST'])){
$host=$_SERVER['HTTP_X_FORWARDED_HOST'];
}elseif(isset($_SERVER['HTTP_HOST'])){
$host=$_SERVER['HTTP_HOST'];
}else{
/*端口*/
if(isset($_SERVER['SERVER_PORT'])){
$port=':'.$_SERVER['SERVER_PORT'];
if((':80'==$port&'http://'==$protocol)||(':443'==$port&'https://'==$protocol)){
$port='';
}
}else{
$port='';
}
if(isset($_SERVER['SERVER_NAME'])){
$host=$_SERVER['SERVER_NAME'].$port;
}elseif(isset($_SERVER['SERVER_ADDR'])){
$host=$_SERVER['SERVER_ADDR'].$port;
}
}
return$protocol.$host;
}
//$arc=newPing('网站标题','更新的URL地址','网站域名','rss地址');
//$arc=newPing('你网站的title',get_arcurl($id),get_domain(),'http://www.abc.com/rss.php');
//echo$arc->pingbaidu();
//返回结果为0表示成功。
PHP 相关文章推荐
第九节 绑定 [9]
Oct 09 PHP
PHP与SQL注入攻击防范小技巧
Sep 16 PHP
php中的boolean(布尔)类型详解
Oct 28 PHP
PHP中使用localhost连接Mysql不成功的解决方法
Aug 20 PHP
smarty实现多级分类的方法
Dec 05 PHP
PHP使用DirectoryIterator显示下拉文件列表的方法
Mar 13 PHP
修改WordPress中文章编辑器的样式的方法详解
Dec 15 PHP
Symfony模板的快捷变量用法实例
Mar 17 PHP
php对接java现实加签验签的实例
Nov 25 PHP
Laravel框架模板继承操作示例
Jun 11 PHP
PHP+redis实现的悲观锁机制示例
Jun 12 PHP
php实现的PDO异常处理操作分析
Dec 27 PHP
PHP弹出提示框并跳转到新页面即重定向到新页面
Jan 24 #PHP
header导出Excel应用示例
Jan 24 #PHP
使用openssl实现rsa非对称加密算法示例
Jan 24 #PHP
测试php连接mysql是否成功的代码分享
Jan 24 #PHP
php实现邮件发送并带有附件
Jan 24 #PHP
php中sql注入漏洞示例 sql注入漏洞修复
Jan 24 #PHP
php 发送带附件邮件示例
Jan 23 #PHP
You might like
五个PHP程序员工具
2008/05/26 PHP
PHP CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发
2012/01/16 PHP
常用的php图片处理类(水印、等比缩放、固定高宽)分享
2015/06/19 PHP
php5.4传引用时报错问题分析
2016/01/22 PHP
PHP使用DOM对XML解析处理操作示例
2019/07/04 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
2020/02/23 PHP
javascript 在网页中的运用(asp.net)
2009/11/23 Javascript
WEB 浏览器兼容 推荐收藏
2010/05/14 Javascript
重载toString实现JS HashMap分析
2011/03/13 Javascript
扩展JavaScript功能的正确方法(译文)
2012/04/12 Javascript
javascript中自定义对象的属性方法分享
2013/07/12 Javascript
jquery仿搜索自动联想功能代码
2014/05/23 Javascript
JavaScript截取、切割字符串的技巧
2016/01/07 Javascript
原生js制作日历控件实例分享
2016/04/06 Javascript
jQuery处理XML文件的几种方法
2016/06/14 Javascript
Javascript中常用的检测方法小结
2016/10/08 Javascript
JavaScript实现格式化字符串函数String.format
2016/12/16 Javascript
jQuery时间验证和转换为标准格式的时间格式
2017/03/06 Javascript
JS中SetTimeout和SetInterval使用初探
2017/03/23 Javascript
js字符限制(字符截取) 一个中文汉字算两个字符
2017/09/12 Javascript
vuex的使用及持久化state的方式详解
2018/01/23 Javascript
Vue源码探究之虚拟节点的实现
2019/04/17 Javascript
微信小程序实现单个或多个倒计时功能
2020/11/01 Javascript
在Django框架中编写Contact表单的教程
2015/07/17 Python
python爬取51job中hr的邮箱
2016/05/14 Python
复化梯形求积分实例——用Python进行数值计算
2019/11/20 Python
基于pygame实现童年掌机打砖块游戏
2020/02/25 Python
Selenium环境变量配置(火狐浏览器)及验证实现
2020/12/07 Python
html5将图片转换成base64的实例代码
2016/09/21 HTML / CSS
墨西哥网上超市:Superama
2018/07/10 全球购物
介绍一下Linux中的链接
2016/05/28 面试题
体育学院毕业生自荐信
2013/11/03 职场文书
办加油卡单位介绍信
2014/01/09 职场文书
房产遗嘱范本
2015/08/06 职场文书
学习雷锋主题班会
2015/08/14 职场文书
2016年12月份红领巾广播稿
2015/12/21 职场文书