百度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 fckeditor 调用的函数
Jun 21 PHP
php写的简易聊天室代码
Jun 04 PHP
PHP缓存技术的多种方法小结
Aug 14 PHP
非常精妙的PHP递归调用与静态变量使用
Dec 16 PHP
php curl模拟post提交数据示例
Dec 31 PHP
PHP中strlen()和mb_strlen()的区别浅析
Jun 19 PHP
php获取系统变量方法小结
May 29 PHP
ThinkPHP使用Ueditor的方法详解
May 20 PHP
Yii2实现让关联字段支持搜索功能的方法
Aug 10 PHP
yii2 resetful 授权验证详解
May 18 PHP
laravel自定义分页效果
Jul 23 PHP
php5.5使用PHPMailer-5.2发送邮件的完整步骤
Oct 14 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
绿山咖啡和蓝山咖啡
2021/03/04 新手入门
利用PHP创建动态图像
2006/10/09 PHP
php常见的魔术方法详解
2014/12/25 PHP
标准版Eclipse搭建PHP环境的详细步骤
2015/11/18 PHP
php 时间time与日期date之间的使用详解及区别
2016/11/07 PHP
Windows服务器中PHP如何安装redis扩展
2019/09/27 PHP
jquery获取input表单值的代码
2010/04/19 Javascript
jquery 跨域访问问题解决方法(笔记)
2011/06/08 Javascript
Dom 结点创建 基础知识
2011/10/01 Javascript
window.onload追加函数使用示例
2014/03/03 Javascript
JavaScript弹出窗口方法汇总
2014/08/12 Javascript
javascript面向对象之共享成员属性与方法及prototype关键字用法
2015/01/13 Javascript
JS FormData上传文件的设置方法
2017/07/05 Javascript
bootstrap日期插件daterangepicker使用详解
2017/10/19 Javascript
深入解析koa之中间件流程控制
2019/06/17 Javascript
javaScript把其它类型转换为Number类型
2019/10/13 Javascript
解决vue v-for src 图片路径问题 404
2019/11/12 Javascript
详解vue-router的导航钩子(导航守卫)
2020/11/02 Javascript
[01:39](回顾)各路豪强针锋相对,几经鏖战四强产生
2014/07/01 DOTA
[31:47]夜魇凡尔赛茶话会 第三期01:选手知多少
2021/03/11 DOTA
web.py中调用文件夹内模板的方法
2014/08/26 Python
Python本地与全局命名空间用法实例
2015/06/16 Python
python Django批量导入不重复数据
2016/03/25 Python
轻量级的Web框架Flask 中模块化应用的实现
2017/09/11 Python
Python2实现的图片文本识别功能详解
2018/07/11 Python
Django 中使用流响应处理视频的方法
2018/07/20 Python
python根据list重命名文件夹里的所有文件实例
2018/10/25 Python
Opencv-Python图像透视变换cv2.warpPerspective的示例
2019/04/11 Python
python使用参数对嵌套字典进行取值的方法
2019/04/26 Python
英国在线房屋中介网站:Yopa
2018/01/09 全球购物
迪士尼法国在线商店:shopDisney FR
2020/12/03 全球购物
自荐信的五个重要部分
2013/10/29 职场文书
领导班子自我剖析材料
2014/08/16 职场文书
2015年全国“爱牙日”宣传活动总结
2015/03/23 职场文书
傲慢与偏见读书笔记
2015/06/29 职场文书
《浅水洼里的小鱼》教学反思
2016/02/16 职场文书