百度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实现禁用IE和火狐的缓存问题
Dec 03 PHP
使用PHP实现Mysql读写分离
Jun 28 PHP
codeigniter框架The URI you submitted has disallowed characters错误解决方法
May 06 PHP
CodeIgniter CLI模式简介
Jun 17 PHP
PHP传参之传值与传址的区别
Apr 24 PHP
PHP+shell脚本操作Memcached和Apache Status的实例分享
Mar 11 PHP
php 判断过去离现在几年的函数(实例代码)
Nov 15 PHP
thinkPHP分页功能实例详解
May 05 PHP
PHP正则删除HTML代码中宽高样式的方法
Jun 12 PHP
Ajax中的JSON格式与php传输过程全面解析
Nov 14 PHP
ThinkPHP3.2框架自带分页功能实现方法示例
May 13 PHP
ThinkPHP5.1的权限控制怎么写?分享一个AUTH权限控制
Mar 09 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学习笔记之一
2011/01/17 PHP
编译php 5.2.14+fpm+memcached(具体操作详解)
2013/06/18 PHP
删除html标签得到纯文本可处理嵌套的标签
2014/04/28 PHP
网页的分页下标生成代码(PHP后端方法)
2016/02/03 PHP
WordPress 照片lightbox效果的运用几点
2009/06/22 Javascript
JavaScript 处理Iframe自适应高度(同或不同域名下)
2013/03/29 Javascript
浅析Bootstrap缩略图组件与警示框组件
2016/04/29 Javascript
vue.js入门教程之基础语法小结
2016/09/01 Javascript
JS实现颜色梯度与渐变效果完整实例
2016/12/30 Javascript
Javascript ES6中对象类型Sets的介绍与使用详解
2017/07/17 Javascript
简单谈谈js的数据类型
2017/09/25 Javascript
微信小程序实现animation动画
2018/01/26 Javascript
vue router 配置路由的方法
2018/07/26 Javascript
解决 viewer.js 动态更新图片导致无法预览的问题
2019/05/14 Javascript
JS中call()和apply()的功能及用法实例分析
2019/06/28 Javascript
微信小程序之侧边栏滑动实现过程解析(附完整源码)
2019/08/23 Javascript
jQuery实现高度灵活的表单验证功能示例【无UI】
2020/04/30 jQuery
js实现无缝轮播图插件封装
2020/07/31 Javascript
google广告之另类js调用实现代码
2020/08/22 Javascript
javascript实现时钟动画
2020/12/03 Javascript
python输出指定月份日历的方法
2015/04/23 Python
Python中的sort()方法使用基础教程
2017/01/08 Python
Python 通过requests实现腾讯新闻抓取爬虫的方法
2019/02/22 Python
Python多进程multiprocessing、进程池用法实例分析
2020/03/24 Python
python如何求圆的面积
2020/07/01 Python
Python3.9.1中使用match方法详解
2021/02/08 Python
css和css3弹性盒模型实现元素宽度(高度)自适应
2019/05/15 HTML / CSS
泰国王权免税店官方网站:KingPower
2019/03/11 全球购物
经典c++面试题五
2014/12/17 面试题
婚庆公司的创业计划书
2014/01/22 职场文书
大学生个人实习的自我评价
2014/02/15 职场文书
班级旅游计划书
2014/05/03 职场文书
读《儒林外史》有感:少一些功利,多一些真诚
2020/01/19 职场文书
关于PostgreSQL JSONB的匹配和交集问题
2021/09/14 PostgreSQL
java如何实现获取客户端ip地址的示例代码
2022/04/07 Java/Android
MongoDB支持的数据类型
2022/04/11 MongoDB