百度ping方法使用示例 自动ping百度

 更新时间:2014年01月26日 09:11:16   作者:  
这篇文章主要介绍了百度ping方法使用示例,可以把网站地址自动ping到百度,大家参考使用吧

使用方法访问的时候自动ping到百度,我的方法是生成缓存,更新缓存的时候自动ping百度,返回结果为0表示成功。

复制代码 代码如下:

$pingarcurl='http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$arcping = new Ping('脚本之家',$pingarcurl,get_domain(),'https://www.jb51.net');
$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 SMS短信服务验证码发送方法

    阿里云PHP SMS短信服务验证码发送方法

    这篇文章主要介绍了阿里云PHP SMS短信服务验证码发送方法,需要的朋友可以参考下
    2017-07-07
  • PHP下载文件的函数实例代码

    PHP下载文件的函数实例代码

    本文通过实例代码给大家介绍php下载文件的函数相关知识,介绍的非常详解,具有参考借鉴价值,感兴趣的朋友一起学习吧
    2016-05-05
  • laravel框架如何设置公共头和公共尾

    laravel框架如何设置公共头和公共尾

    今天小编就为大家分享一篇laravel框架如何设置公共头和公共尾,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • 基于PHP如何把汉字转化为拼音

    基于PHP如何把汉字转化为拼音

    将汉字转化为拼音是程序员们经常用到的操作任务之一,大家还经常见到ios 将汉字转化为拼音、excel汉字转化成拼音、excel汉字转化为拼音等,本文通过一段代码实例给大家介绍基于PHP如何把汉字转化为拼音,感兴趣的朋友一起学习吧
    2015-12-12
  • php用xpath解析html的代码实例讲解

    php用xpath解析html的代码实例讲解

    在本篇文章里小编给大家分享了关于php用xpath解析html的代码实例讲解,对此有需要的朋友们可以学习下。
    2019-02-02
  • Laravel框架实现的批量删除功能示例

    Laravel框架实现的批量删除功能示例

    这篇文章主要介绍了Laravel框架实现的批量删除功能,结合实例形式分析了Laravel框架批量删除功能相关的前端界面布局及后台控制器实现技巧,需要的朋友可以参考下
    2019-01-01
  • php数组删除元素示例

    php数组删除元素示例

    在某个数组中删除一个元素,我是直接用的unset,也不管unset之后会发生什么。但今天看到的东西却让我大吃一惊,并不是我想象的那样,我用示例来说明
    2014-03-03
  • php版小黄鸡simsimi聊天机器人接口分享

    php版小黄鸡simsimi聊天机器人接口分享

    小黄鸡SimSimi是一个可爱的智能聊天机器人,他能和用户进行有趣的对话,本文主要介绍了php版小黄鸡simsimi接口使用的示例,大家参考使用吧
    2014-01-01
  • PHP开发中csrf攻击的简单演示和防范

    PHP开发中csrf攻击的简单演示和防范

    CSRF的全名为Cross-site request forgery,它的中文名为 跨站请求伪造(伪造跨站请求【这样读顺口一点】)CSRF是一种夹持用户在已经登陆的web应用程序上执行非本意的操作的攻击方式。相比于XSS,CSRF是利用了系统对页面浏览器的信任,XSS则利用了系统对用户的信任。
    2017-05-05
  • php视频拍照上传头像功能实现代码分享

    php视频拍照上传头像功能实现代码分享

    现在手机拍照很火,那么如何使用手机拍照并上传头像呢?原因很简单,就是数据传递,首先手机传递照片信息,既不是post传递也不是get函数传递,这个另外一种数据格式传递,使用的是$GLOBALS ['HTTP_RAW_POST_DATA'],需要的朋友可以参考下
    2015-10-10

最新评论