当前位置:  编程技术>php

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

    来源: 互联网  发布时间:2014-08-26

    本文导语:  使用方法访问的时候自动ping到百度,我的方法是生成缓存,更新缓存的时候自动ping百度,返回结果为0表示成功。 代码如下:$pingarcurl='http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];$arcping = new Ping('',$pingarcurl,get_domain(),'http://www.');$ar...

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

代码如下:

$pingarcurl='http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$arcping = new Ping('',$pingarcurl,get_domain(),'http://www.');
$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='';
$this->baiduXML.='';
$this->baiduXML.='weblogUpdates.extendedPing';
$this->baiduXML.='';
$this->baiduXML.=''.$this->hosturl.'';
$this->baiduXML.=''.$this->title.'';
$this->baiduXML.=''.$this->arturl.'';
$this->baiduXML.=''.$this->rssurl.'';
$this->baiduXML.='';
$this->baiduXML.='';
}
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,"0"))?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(/blog_article/$id/index.html),get_domain(),'http://www.abc.com/rss.php');
//echo$arc->pingbaidu();
//返回结果为0表示成功。


    
 
 

您可能感兴趣的文章:

  • 百度ping方法示例代码 自动ping百度
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • AIX 中为何ping 新浪的IP地址能ping通,而ping 域名不能ping通?(在线等待)
  • Linux网络奇怪问题,能ping通外网,内网ping不通,网关ping不通,DNS能ping通!
  • 我在linux里用ping,ping得通,怎么一直在ping啊,但怎么不停止啊
  • redhat es4 我设置了机器名以后,从本机可以ping ,从别的机器ping ip可以,ping 机器名不行。
  • 两台机器一台可以ping通一方,另一方不能ping回来
  • unix5.0.7能ping到自己ping不到别人
  • 加急!!linux下怎么实现ping。并且ping不到的时候返回错误信息
  • 在solaris,可以ping自己,但是无法Ping通别的IP地址
  • 网卡ip本机能ping通,其他局域网内计算机ping不通
  • 网卡激活了,但ping dsn 不通,ping 网关也不通,怎么办?
  • linux网络ping不同自己和其他机子,其他机子ping不同我
  • 可以ping通路由器,但是ping不通外部地址可能是什么原因?
  • vmware虚拟机linux不能ping通主机,主机能ping通虚拟机
  • 很奇怪,板子和板子ping不通,板子和pc可以ping通
  • linux系统 在局域网内ping不通网关,但可以ping通网内的其他机器
  • Linux互ping在局域网内大量丢包,但是linux和windows互ping就没问题。
  • ping :windows和linux相互ping不通
  • 请问我的网络中怎么有些电脑能PING 通服务器,有些不能ping 服务器
  • 电脑安装window可以ping通其他的机器,但是安装linux不能ping通其他机器怎么回事!
  • 能ping到自己,但ping不到其他的主机??


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3