百度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递归算法和应用方法介绍
Apr 15 PHP
PHP数据类型的总结分析
Jun 13 PHP
mac下安装nginx和php
Nov 04 PHP
zend framework文件上传功能实例代码
Dec 25 PHP
php获取从百度搜索进入网站的关键词的详细代码
Jan 08 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十)
Jun 24 PHP
PHP中使用glob函数实现一句话删除某个目录下的所有文件
Jul 22 PHP
PHP 抽象方法与抽象类abstract关键字介绍及应用
Oct 16 PHP
讲解WordPress开发中一些常用的debug技巧
Dec 18 PHP
php中foreach结合curl实现多线程的方法分析
Sep 22 PHP
php防止sql注入的方法详解
Feb 20 PHP
PHP配合fiddler抓包抓取微信指数小程序数据的实现方法分析
Jan 02 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 第二节 数据类型之数组
2012/04/28 PHP
php中的比较运算符详解
2013/10/28 PHP
PHP数据库万能引擎类adodb配置使用以及实例集锦
2014/06/12 PHP
ThinkPHP CURD方法之page方法详解
2014/06/18 PHP
smarty模板判断数组为空的方法
2015/06/10 PHP
php中文语义分析实现方法示例
2019/09/28 PHP
PHP实现文件上传后台处理脚本
2020/03/04 PHP
ExtJs使用IFrame的实现代码
2010/03/24 Javascript
网络图片延迟加载实现代码 超越jquery控件
2010/03/27 Javascript
jquery禁止输入数字以外的字符的示例(纯数字验证码)
2014/04/10 Javascript
javascript的创建多行字符串的7种方法
2014/04/29 Javascript
jquery validate demo 基础
2015/10/29 Javascript
jQuery实现简单的文件上传进度条效果
2020/03/26 Javascript
js微信分享API
2020/10/11 Javascript
用 js 的 selection range 操作选择区域内容和图片
2017/04/18 Javascript
使用vue打包时vendor文件过大或者是app.js文件很大的问题
2018/06/29 Javascript
NodeJS服务器实现gzip压缩的示例代码
2018/10/12 NodeJs
使用node搭建自动发图文微博机器人的方法
2019/03/22 Javascript
JavaScript函数IIFE使用详解
2019/10/21 Javascript
针对Vue路由history模式下Nginx后台配置操作
2020/10/22 Javascript
Python加pyGame实现的简单拼图游戏实例
2015/05/15 Python
wxPython使用系统剪切板的方法
2015/06/16 Python
如何用itertools解决无序排列组合的问题
2017/05/18 Python
Django forms组件的使用教程
2018/10/08 Python
Python对ElasticSearch获取数据及操作
2019/04/24 Python
python实现简单图书管理系统
2019/11/22 Python
Python实现手机号自动判断男女性别(实例解析)
2019/12/22 Python
基于django micro搭建网站实现加水印功能
2020/05/22 Python
python statsmodel的使用
2020/12/21 Python
Python调用高德API实现批量地址转经纬度并写入表格的功能
2021/01/12 Python
Html5让容器充满屏幕高度或自适应剩余高度的布局实现
2020/05/14 HTML / CSS
大学自主招生自荐信范文
2014/02/26 职场文书
大学生安全教育心得体会
2016/01/15 职场文书
Python基础之字符串格式化详解
2021/04/21 Python
gateway网关接口请求的校验方式
2021/07/15 Java/Android
MySQL对数据表已有表进行分区表的实现
2021/11/01 MySQL