百度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加密解密的代码
Jul 16 PHP
php下使用SMTP发邮件的代码
Jan 10 PHP
检查url链接是否已经有参数的php代码 添加 ? 或 &amp;
Feb 09 PHP
php中判断字符串是否全是中文或含有中文的实现代码
Sep 16 PHP
简单的方法让你的后台登录更加安全(php中加session验证)
Aug 22 PHP
php数据类型判断函数有哪些
Sep 23 PHP
smarty获得当前url的方法分享
Feb 14 PHP
PHP 面向对象程序设计(oop)学习笔记 (四) - 异常处理类Exception
Jun 12 PHP
php多个文件及图片上传实例详解
Nov 10 PHP
thinkphp模板用法和内容输出实例
Nov 28 PHP
Codeigniter检测表单post数据的方法
Mar 21 PHP
[原创]PHPCMS遭遇会员投稿审核无效的解决方法
Jan 11 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
DC动画很好看?新作烂得令人发指,名叫《红色之子》
2020/04/09 欧美动漫
谈谈新手如何学习PHP
2006/12/14 PHP
如何使用jQuery+PHP+MySQL来实现一个在线测试项目
2015/04/26 PHP
js url传值中文乱码之解决之道
2009/11/20 Javascript
firefox firebug中文入门教程 脚本之家新年特别版
2010/01/02 Javascript
javascript闭包的理解和实例
2010/08/12 Javascript
弹出最简单的模式化遮罩层的js代码
2013/12/04 Javascript
jQuery遍历Table应用示例
2014/04/09 Javascript
jquery插件corner实现圆角边框的方法
2015/03/09 Javascript
EditPlus 正则表达式 实战(3)
2016/12/15 Javascript
快速实现JS图片懒加载(可视区域加载)示例代码
2017/01/04 Javascript
Javascript实现秒表倒计时功能
2018/11/17 Javascript
详解利用eventemitter2实现Vue组件通信
2019/11/04 Javascript
JavaScript实现消消乐的源代码
2021/01/12 Javascript
[53:52]EG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python简单连接MongoDB数据库的方法
2016/03/15 Python
在windows系统中实现python3安装lxml
2016/03/23 Python
用virtualenv建立多个Python独立虚拟开发环境
2017/07/06 Python
利用python打印出菱形、三角形以及矩形的方法实例
2017/08/08 Python
基于python3 类的属性、方法、封装、继承实例讲解
2017/09/19 Python
django反向解析和正向解析的方式
2018/06/05 Python
在Python中获取操作系统的进程信息
2019/08/27 Python
Python 动态导入对象,importlib.import_module()的使用方法
2019/08/28 Python
python getpass模块用法及实例详解
2019/10/07 Python
PHP基于phpqrcode类库生成二维码过程解析
2020/05/28 Python
常用的10个Python实用小技巧
2020/08/10 Python
python中sys模块是做什么用的
2020/08/16 Python
python 浮点数四舍五入需要注意的地方
2020/08/18 Python
介绍一下OSI七层模型
2012/07/03 面试题
航空大学应届生求职信
2013/11/10 职场文书
企划经理的岗位职责
2013/11/17 职场文书
阿德的梦教学反思
2014/02/06 职场文书
党的群众路线教育实践活动制度建设计划方案
2014/10/31 职场文书
高中军训感想
2015/08/07 职场文书
Java 超详细讲解IO操作字节流与字符流
2022/03/25 Java/Android
详细介绍Java中的CyclicBarrier
2022/04/13 Java/Android