百度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 常用函数库和一些实用小技巧
Jan 01 PHP
建站常用13种PHP开源CMS比较
Aug 23 PHP
PHP+XML 制作简单的留言本 图文教程
Nov 02 PHP
PHP 检查扩展库或函数是否可用的代码
Apr 06 PHP
PHP 数组遍历方法大全(foreach,list,each)
Jun 30 PHP
CodeIgniter模板引擎使用实例
Jul 15 PHP
php json转换成数组形式代码分享
Nov 10 PHP
php中静态类与静态变量用法的区别分析
Jan 15 PHP
php基础设计模式大全(注册树模式、工厂模式、单列模式)
Aug 31 PHP
Docker搭建自己的PHP开发环境
Feb 24 PHP
php防止表单重复提交实例讲解
Feb 11 PHP
PHP钩子实现方法解析
May 21 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字符串截取问题
2006/11/28 PHP
php强制下载类型的实现代码
2011/04/21 PHP
常用的PHP数据库操作方法(MYSQL版)
2011/06/08 PHP
Drupal简体中文语言包安装教程
2014/09/27 PHP
php中substr()函数参数说明及用法实例
2014/11/15 PHP
php+ajax实时输入自动搜索匹配的方法
2014/12/26 PHP
PHP几个实用自定义函数小结
2016/01/25 PHP
PHP join()函数用法与实例讲解
2019/03/11 PHP
PHP数组访问常用方法解析
2020/09/05 PHP
js下弹出窗口的变通
2007/04/18 Javascript
Javascript 各浏览器的 Javascript 效率对比
2008/01/23 Javascript
jquery选择器-根据多个属性选择示例代码
2013/10/21 Javascript
JS检测输入字符是否包含非法字符的示例代码
2014/02/11 Javascript
Nodejs学习笔记之入门篇
2015/04/16 NodeJs
js拖拽功能实现代码解析
2016/11/28 Javascript
jQuery获取this当前对象子元素对象的方法
2016/11/29 Javascript
jQuery实现删除li节点的方法
2016/12/06 Javascript
原生javascript实现分页效果
2017/04/21 Javascript
利用Vue.js实现求职在线之职位查询功能
2017/07/03 Javascript
jQuery的时间datetime控件在AngularJs中的使用实例(分享)
2017/08/17 jQuery
微信小程序使用Socket的实例
2017/09/19 Javascript
jQuery实现鼠标点击处心形漂浮的炫酷效果示例
2018/04/12 jQuery
vue.js响应式原理解析与实现
2020/06/22 Javascript
基于vue实现简易打地鼠游戏
2020/08/21 Javascript
[02:32]DOTA2完美大师赛场馆静安体育中心观赛全攻略
2017/11/08 DOTA
[42:06]2019国际邀请赛全明星赛 8.23
2019/09/05 DOTA
python fabric使用笔记
2015/05/09 Python
Python smallseg分词用法实例分析
2015/05/28 Python
Python中将字典转换为XML以及相关的命名空间解析
2015/10/15 Python
Python自定义类的数组排序实现代码
2016/08/28 Python
VScode编写第一个Python程序HelloWorld步骤
2018/04/06 Python
咖啡店创业计划书
2014/08/15 职场文书
病人家属写给医院的感谢信
2015/01/23 职场文书
安全事故隐患排查治理制度
2015/08/05 职场文书
Typescript类型系统FLOW静态检查基本规范
2022/05/25 Javascript
Win11控制面板快捷键是什么?Win11打开控制面板的方法汇总
2022/07/07 数码科技