百度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--用万网的接口实现域名查询功能
Dec 13 PHP
深入PHP与浏览器缓存的分析
Jun 03 PHP
php获取目标函数执行时间示例
Mar 04 PHP
PHP不用递归遍历目录下所有文件的代码
Jul 04 PHP
PHP实现批量生成App各种尺寸Logo
Mar 19 PHP
php中ob函数缓冲机制深入理解
Aug 03 PHP
php利用递归实现删除文件目录的方法
Sep 23 PHP
iOS自定义提示弹出框实现类似UIAlertView的效果
Nov 16 PHP
弹出模态框modal的实现方法及实例
Sep 19 PHP
浅析PHP中的 inet_pton 网络函数
Dec 16 PHP
laravel5.6 框架邮件队列database驱动简单demo示例
Jan 26 PHP
PhpStorm2020 + phpstudyV8 +XDebug的教程详解
Sep 17 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+mysql写的简单留言本实例代码
2008/07/25 PHP
PHP连接Access数据库的方法小结
2013/06/20 PHP
PHP 文件编程综合案例-文件上传的实现
2013/07/03 PHP
两级联动select刷新后其值保持不变的实现方法
2014/01/27 PHP
php实现事件监听与触发的方法
2014/11/21 PHP
php根据命令行参数生成配置文件详解
2019/03/15 PHP
PHP写API输出的时用echo的原因详解
2019/04/28 PHP
Laravel自定义 封装便捷返回Json数据格式的引用方法
2019/09/29 PHP
laravel model模型定义实现开启自动管理时间created_at,updated_at
2019/10/17 PHP
JavaScipt中的Math.ceil() 、Math.floor() 、Math.round() 三个函数的理解
2010/04/29 Javascript
利用谷歌地图API获取点与点的距离的js代码
2012/10/11 Javascript
javascript每日必学之多态
2016/02/23 Javascript
H5用户注册表单页 注册模态框!
2016/09/17 Javascript
jQuery实现的checkbox级联选择下拉菜单效果示例
2016/12/26 Javascript
详解angular2实现ng2-router 路由和嵌套路由
2017/03/24 Javascript
详解vue-cli之webpack3构建全面提速优化
2017/12/25 Javascript
react-native-video实现视频全屏播放的方法
2018/03/19 Javascript
JS模拟实现哈希表及应用详解
2018/05/04 Javascript
layui表格内容溢出的解决方法
2019/09/06 Javascript
JavaScript代码模拟鼠标自动点击事件示例
2020/08/07 Javascript
python通过urllib2获取带有中文参数url内容的方法
2015/03/13 Python
python超简单解决约瑟夫环问题
2015/05/12 Python
深入学习python的yield和generator
2016/03/10 Python
python 调用win32pai 操作cmd的方法
2017/05/28 Python
python读写LMDB文件的方法
2018/07/02 Python
python编写俄罗斯方块
2020/03/13 Python
css3 给页面加个半圆形导航条主要利用旋转和倾斜样式
2014/02/10 HTML / CSS
简单的HTML5初步入门教程
2015/09/29 HTML / CSS
廉价航班、机票和酒店:JustFly
2018/02/07 全球购物
英国奢侈品牌时尚购物平台:Farfetch(支持中文)
2020/02/18 全球购物
Java的类与C++的类有什么不同
2014/01/18 面试题
大学生万能检讨书范例
2014/10/04 职场文书
红领巾广播站广播稿
2014/10/19 职场文书
2015年度党员自我评价范文
2015/03/03 职场文书
一篇文章弄清楚Ajax请求的五个步骤
2022/03/17 Javascript
Linux中一对多配置日志服务器的详细步骤
2022/07/23 Servers