百度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 相关文章推荐
对javascript和select部件的结合运用
Oct 09 PHP
台湾中原大学php教程孙仲岳主讲
Jan 07 PHP
php数据结构 算法(PHP描述) 简单选择排序 simple selection sort
Aug 09 PHP
PHP实现过滤掉非汉字字符只保留中文字符
Jun 04 PHP
php三元运算符知识汇总
Jul 02 PHP
详解php的socket通信
Aug 11 PHP
PHP MVC框架skymvc支持多文件上传
May 26 PHP
基于jQueryUI和Corethink实现百度的搜索提示功能
Nov 09 PHP
微信 getAccessToken方法详解及实例
Nov 23 PHP
php插件Xajax使用方法详解
Aug 31 PHP
PHP如何通过表单直接提交大文件详解
Jan 08 PHP
Laravel框架查询构造器简单示例
May 08 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
兼容PHP5的PHP目录管理函数库
2008/07/10 PHP
Linux+Nginx+MySQL下配置论坛程序Discuz的基本教程
2015/12/23 PHP
php微信公众号开发(2)百度BAE搭建和数据库使用
2016/12/15 PHP
php获取是星期几的的一些常用姿势
2019/12/15 PHP
JavaScript 新手24条实用建议[TUTS+]
2009/06/21 Javascript
理解Javascript_07_理解instanceof实现原理
2010/10/15 Javascript
jQuery之选择组件的深入解析
2013/06/19 Javascript
Avalon中文长字符截取、关键字符隐藏、自定义过滤器
2016/05/18 Javascript
【经验总结】编写JavaScript代码时应遵循的14条规律
2016/06/20 Javascript
AngularJS 过滤器(自带和自建)详解
2016/09/19 Javascript
微信小程序 出现错误:{&quot;baseresponse&quot;:{&quot;errcode&quot;:-80002,&quot;errmsg&quot;:&quot;&quot;}}解决办法
2017/02/23 Javascript
手把手搭建安装基于windows的Vue.js运行环境
2017/06/12 Javascript
详解基于mpvue的小程序markdown适配解决方案
2018/05/08 Javascript
原生js实现Flappy Bird小游戏
2018/12/24 Javascript
VUE实现图片验证码功能
2020/11/18 Javascript
Vue实现腾讯云点播视频上传功能的实现代码
2020/08/17 Javascript
Vue项目中使用mock.js的完整步骤
2021/01/12 Vue.js
Python的Django框架中if标签的相关使用
2015/07/15 Python
python利用urllib和urllib2访问http的GET/POST详解
2017/09/27 Python
python selenium 弹出框处理的实现
2019/02/26 Python
python开头的coding设置方法
2019/08/08 Python
Python引入多个模块及包的概念过程解析
2020/09/21 Python
Get The Label中文官网:英国运动时尚购物平台
2017/04/19 全球购物
Homestay中文官网:全球寄宿家庭
2018/10/18 全球购物
生产内勤岗位职责
2013/12/07 职场文书
小学生推普周国旗下讲话稿
2014/09/21 职场文书
单位实习工作证明怎么写
2014/11/02 职场文书
2015元旦节寄语
2014/12/08 职场文书
2015年小班保育员工作总结
2015/05/27 职场文书
商标侵权律师函
2015/05/27 职场文书
采购部2015年度工作总结
2015/07/24 职场文书
2015年幼儿园师德师风建设工作总结
2015/10/23 职场文书
导游词之长城八达岭
2019/09/24 职场文书
CSS3 菱形拼图实现只旋转div 背景图片不旋转功能
2021/03/30 HTML / CSS
MySQL 如何分析查询性能
2021/05/12 MySQL
win10识别不了U盘怎么办 win10系统读取U盘失败的解决办法
2022/08/05 数码科技