百度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入门学习知识点六 PHP文件的读写操作代码
Jul 14 PHP
php面向对象 字段的声明与使用
Jun 14 PHP
PHP开发微信支付的代码分享
May 25 PHP
php结合js实现点击超链接执行删除确认操作
Oct 31 PHP
windows下配置php5.5开发环境及开发扩展
Dec 25 PHP
PHP匿名函数和use子句用法实例
Mar 16 PHP
PHP中file_exists使用中遇到的问题小结
Apr 05 PHP
php使用文本统计访问量的方法
May 12 PHP
php英文单词统计器
Jun 23 PHP
CI(CodeIgniter)框架实现图片上传的方法
Mar 24 PHP
CMSPRESS 10行代码搞定 PHP无限级分类2
Mar 30 PHP
php实现往pdf中加数字签名操作示例【附源码下载】
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
推荐几部必看的DC动画电影
2020/03/03 欧美动漫
PHP与SQL语句常用大全
2016/12/10 PHP
PHP编程计算两个时间段是否有交集的实现方法(不算边界重叠)
2017/05/30 PHP
javascript 密码强弱度检测万能插件
2009/02/25 Javascript
可以将word转成html的js代码
2010/04/11 Javascript
juqery 学习之四 筛选查找
2010/11/30 Javascript
IE图片缓存document.execCommand(&quot;BackgroundImageCache&quot;,false,true)
2011/03/01 Javascript
基于jQuery实现文本框缩放以及上下移动功能
2014/11/24 Javascript
javascript三元运算符用法实例
2015/04/16 Javascript
WebApi+Bootstrap+KnockoutJs打造单页面程序
2016/05/16 Javascript
js 判断一组日期是否是连续的简单实例
2016/07/11 Javascript
彻底学会Angular.js中的transclusion
2017/03/12 Javascript
AngularJS 前台分页实现的示例代码
2018/06/07 Javascript
react build 后打包发布总结
2018/08/24 Javascript
微信小程序CSS3动画下拉菜单效果
2018/11/04 Javascript
js回调函数仿360开机
2019/12/26 Javascript
vue cli 3.0通用打包配置代码,不分一二级目录
2020/09/02 Javascript
Python命令行参数解析模块getopt使用实例
2015/04/13 Python
python pandas时序处理相关功能详解
2019/07/03 Python
Django使用中间件解决前后端同源策略问题
2019/09/02 Python
Python 列表中的修改、添加和删除元素的实现
2020/06/11 Python
html5本地存储之localstorage 、本地数据库、sessionStorage简单使用示例
2014/05/08 HTML / CSS
html5 video全屏播放/自动播放的实现示例
2020/08/06 HTML / CSS
欧尚俄罗斯网上超市:Auchan俄罗斯
2018/05/03 全球购物
美国Randolph太阳镜官网:美国制造的飞行员太阳镜和射击眼镜
2018/06/15 全球购物
全球500多个机场的接送服务:Suntransfers
2019/06/03 全球购物
ZWILLING双立人法国网上商店:德国刀具锅具厨具品牌
2019/08/28 全球购物
秋季运动会通讯稿
2014/01/24 职场文书
眼镜促销方案
2014/03/15 职场文书
学习雷锋演讲稿
2014/05/10 职场文书
妇联领导班子剖析材料
2014/08/21 职场文书
上课迟到检讨书300字
2014/10/15 职场文书
商业计划书如何写?关键问题有哪些?
2019/07/11 职场文书
Matlab求解数组中的最大值及它所在的具体位置
2021/04/16 Python
golang slice元素去重操作
2021/04/30 Golang
MYSQL 的10大经典优化案例场景实战
2021/09/14 MySQL