百度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 相关文章推荐
PHP在XP下IIS和Apache2服务器上的安装
Sep 05 PHP
用php实现的下载css文件中的图片的代码
Feb 08 PHP
WordPress判断用户是否登录的代码
Mar 17 PHP
PHP 杂谈《重构-改善既有代码的设计》之三 重新组织数据
Apr 09 PHP
php中json_encode处理gbk与gb2312中文乱码问题的解决方法
Jul 10 PHP
ThinkPHP表单自动提交验证实例教程
Jul 18 PHP
php绘图之生成饼状图的方法
Jan 24 PHP
Laravel如何使用Redis共享Session
Feb 23 PHP
Windows上php5.6操作mongodb数据库示例【配置、连接、获取实例】
Feb 13 PHP
PHP错误提示It is not safe to rely on the system……的解决方法
Mar 25 PHP
PHP获取远程http或ftp文件的md5值的方法
Apr 15 PHP
PHP实现计算器小功能
Aug 28 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 magic quotes的详解
2013/06/17 PHP
PHP英文字母大小写转换函数小结
2014/05/03 PHP
php下Memcached入门实例解析
2015/01/05 PHP
PHP集成环境XAMPP的安装与配置
2018/11/13 PHP
线路分流自动智能跳转代码,自动选择最快镜像网站(js)
2011/10/31 Javascript
script标签属性type与language使用选择
2012/12/02 Javascript
利用js动态添加删除table行的示例代码
2013/12/16 Javascript
JQuery中使用ajax传输超大数据的解决方法
2014/07/14 Javascript
JS 获取鼠标左右键的键值方法
2014/10/11 Javascript
JavaScript数据类型判定的总结笔记
2015/07/31 Javascript
百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和WGS84坐标系之间的转换
2016/02/19 Javascript
js闭包引起的事件注册问题介绍
2016/03/29 Javascript
利用JS判断鼠标移入元素的方向
2016/12/11 Javascript
第一次记录Bootstrap table学习笔记(1)
2017/05/18 Javascript
bmob js-sdk 在vue中的使用教程
2018/01/21 Javascript
使用vue-router beforEach实现判断用户登录跳转路由筛选功能
2018/06/25 Javascript
深入浅出理解JavaScript高级定时器原理与用法
2018/08/02 Javascript
vue-awesome-swiper 基于vue实现h5滑动翻页效果【推荐】
2018/11/08 Javascript
bootstrap datepicker的基本使用教程
2019/07/09 Javascript
JS为什么说async/await是generator的语法糖详解
2019/07/11 Javascript
机器学习经典算法-logistic回归代码详解
2017/12/22 Python
python 获取字符串MD5值方法
2018/05/29 Python
关于pytorch中网络loss传播和参数更新的理解
2019/08/20 Python
推荐8款常用的Python GUI图形界面开发框架
2020/02/23 Python
解决在keras中使用model.save()函数保存模型失败的问题
2020/05/21 Python
HTML5 的新的表单元素(datalist/keygen/output)使用介绍
2013/07/19 HTML / CSS
美国知名的旅游网站:OneTravel
2018/10/09 全球购物
拉斯维加斯酒店、演出、旅游、俱乐部及更多:Vegas.com
2019/02/28 全球购物
学前教育教师求职自荐信
2013/09/22 职场文书
工商管理专业职业生涯规划
2014/01/01 职场文书
爱与责任师德演讲稿
2014/08/26 职场文书
优秀党务工作者先进事迹材料
2014/12/25 职场文书
工作能力自我评价2015
2015/03/05 职场文书
国庆节主题班会
2015/08/15 职场文书
新西兰:最新留学学习计划书写作指南
2019/07/15 职场文书
Vue+Element UI实现概要小弹窗的全过程
2021/05/30 Vue.js