百度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 和 MySQL 开发的 8 个技巧
Jan 02 PHP
生成卡号php代码
Apr 09 PHP
php getimagesize 上传图片的长度和宽度检测代码
May 15 PHP
php通过session防url攻击方法
Dec 10 PHP
php curl 上传文件代码实例
Apr 27 PHP
php语言中使用json的技巧及json的实现代码详解
Oct 27 PHP
详解WordPress开发中过滤属性以及Sql语句的函数使用
Dec 25 PHP
PHP7新特性foreach 修改示例介绍
Aug 26 PHP
php中strlen和mb_strlen用法实例分析
Nov 12 PHP
Yii框架参数化查询中IN查询只能查询一个的解决方法
May 20 PHP
Laravel 加载第三方类库的方法
Apr 20 PHP
php使用环形链表解决约瑟夫问题完整示例
Aug 07 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 date()函数警告: It is not safe to rely on the system解决方法
2014/08/20 PHP
页面利用渐进式JPEG来提升用户体验度
2014/12/01 PHP
PHP下载远程文件到本地存储的方法
2015/03/24 PHP
又十个超级有用的PHP代码片段
2015/09/24 PHP
PHP模型Model类封装数据库操作示例
2019/03/14 PHP
基于jquery的让textarea自适应高度的插件
2010/08/03 Javascript
用javascript替换URL中的参数值示例代码
2014/01/27 Javascript
javascript判断是手机还是电脑访问网页的简单实例分享
2014/06/03 Javascript
JavaScript如何实现组合列表框中元素移动效果
2016/03/01 Javascript
微信小程序 删除项目工程实现步骤
2016/11/10 Javascript
JS打开摄像头并截图上传示例
2017/02/18 Javascript
微信小程序开发中的疑问解答汇总
2017/07/03 Javascript
24行JavaScript代码实现Redux的方法实例
2019/11/17 Javascript
Node.js中console.log()输出彩色字体的方法示例
2019/12/01 Javascript
python解决字典中的值是列表问题的方法
2013/03/04 Python
Python单链表简单实现代码
2016/04/27 Python
Python标准库06之子进程 (subprocess包) 详解
2016/12/07 Python
python django使用haystack:全文检索的框架(实例讲解)
2017/09/27 Python
django-rest-swagger的优化使用方法
2019/08/29 Python
python脚本实现mp4中的音频提取并保存在原目录
2020/02/27 Python
keras 两种训练模型方式详解fit和fit_generator(节省内存)
2020/07/03 Python
Python 中 sorted 如何自定义比较逻辑
2021/02/02 Python
英国虚拟主机服务商:eUKhost
2016/08/16 全球购物
欧舒丹加拿大官网:L’Occitane加拿大
2017/10/29 全球购物
英国50岁以上人群的交友网站:Ourtime
2018/03/28 全球购物
NULL是什么,它是怎么定义的
2015/05/09 面试题
求职者简历中的自我评价
2013/10/20 职场文书
机关单位动员会主持词
2014/03/20 职场文书
求职信怎么写范文
2014/05/26 职场文书
七一建党节演讲稿
2014/09/11 职场文书
学院党委班子四风问题自查报告及整改措施
2014/10/25 职场文书
2015年个人剖析材料范文
2014/12/29 职场文书
龙门石窟导游词
2015/02/02 职场文书
2016年推广普通话宣传周活动总结
2016/04/06 职场文书
2019年描写人生经典诗句大全
2019/07/08 职场文书
python 字典和列表嵌套用法详解
2021/06/29 Python