百度ping方法使用示例 自动ping百度
百度ping方法使用示例 自动ping百度
发布时间:2016-12-29 来源:查字典编辑
摘要:使用方法访问的时候自动ping到百度,我的方法是生成缓存,更新缓存的时候自动ping百度,返回结果为0表示成功。复制代码代码如下:$ping...

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

复制代码 代码如下:

$pingarcurl='http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];

$arcping = new Ping('查字典教程网',$pingarcurl,get_domain(),'http://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教程学习
热门php教程学习
编程开发子分类