百度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 相关文章推荐
mysql5写入和读出乱码解决
Nov 25 PHP
台湾中原大学php教程孙仲岳主讲
Jan 07 PHP
求PHP数组最大值,最小值的代码
Oct 31 PHP
三个类概括PHP的五种设计模式
Sep 05 PHP
PHP、Python和Javascript的装饰器模式对比
Feb 03 PHP
Zend Framework实现具有基本功能的留言本(附demo源码下载)
Mar 22 PHP
PHP的Yii框架中Model模型的学习教程
Mar 29 PHP
[原创]smarty简单模板变量输出方法
Jul 09 PHP
php使用get_class_methods()函数获取分类的方法
Jul 20 PHP
php通过会话控制实现身份验证实例
Oct 18 PHP
Laravel框架路由和控制器的绑定操作方法
Jun 12 PHP
PHP 实现 JSON 数据的编码和解码操作详解
Apr 22 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实现12306余票查询、价格查询示例
2014/04/17 PHP
PHP中mysql_field_type()函数用法
2014/11/24 PHP
php采集中国代理服务器网的方法
2015/06/16 PHP
php $_SESSION会员登录实例分享
2021/01/19 PHP
PHP实现表单提交数据的验证处理功能【防SQL注入和XSS攻击等】
2017/07/21 PHP
PHP实现爬虫爬取图片代码实例
2021/03/03 PHP
JavaScript 面向对象与原型
2015/04/10 Javascript
js确认框confirm()用法实例详解
2016/01/07 Javascript
jQuery控制frames及frame页面JS的方法
2016/03/08 Javascript
详解js中的apply与call的用法
2016/07/30 Javascript
判断数组的最佳方法(推荐)
2016/10/11 Javascript
js实现网页定位导航功能
2017/03/07 Javascript
angular中的cookie读写方法
2017/08/02 Javascript
详解webpack进阶之loader篇
2017/08/23 Javascript
vue项目中导入swiper插件的方法
2018/01/30 Javascript
vue 使用eventBus实现同级组件的通讯
2018/03/02 Javascript
20个最常见的jQuery面试问题及答案
2018/05/23 jQuery
Vue实现点击箭头上下移动效果
2020/06/11 Javascript
Postman内建变量常用方法实例解析
2020/07/28 Javascript
Python设置默认编码为utf8的方法
2016/07/01 Python
Python中%r和%s的详解及区别
2017/03/16 Python
Python中使用多进程来实现并行处理的方法小结
2017/08/09 Python
Flask框架Flask-Principal基本用法实例分析
2018/07/23 Python
对python中的six.moves模块的下载函数urlretrieve详解
2018/12/19 Python
python对列进行平移变换的方法(shift)
2019/01/10 Python
Django 中自定义 Admin 样式与功能的实现方法
2019/07/04 Python
python实现把二维列表变为一维列表的方法分析
2019/10/08 Python
浅谈Python爬虫原理与数据抓取
2020/07/21 Python
大学军训感言200字
2014/02/26 职场文书
财务内勤岗位职责
2014/04/17 职场文书
触电现场处置方案
2014/05/14 职场文书
航空学院求职信
2014/06/11 职场文书
商业企业管理专业求职信
2014/07/10 职场文书
活动总结结尾怎么写
2014/08/30 职场文书
《风筝》教学反思
2016/02/23 职场文书
如何在Python项目中引入日志
2021/05/31 Python