手机
当前位置:查字典教程网 >编程开发 >php教程 >百度ping方法使用示例 自动ping百度
百度ping方法使用示例 自动ping百度
摘要:使用方法访问的时候自动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表示成功。

【百度ping方法使用示例 自动ping百度】相关文章:

PHP调用三种数据库的方法(1)

PHP中的魔术方法总结和使用实例

PHP解密Unicode及Escape加密字符串

php解析xml方法实例详解

php根据表结构自动生成类属性

如何使用jQuery+PHP+MySQL来实现一个在线测试项目

一个php作的文本留言本的例子(六)

PHP和JAVA的XML-RPC中文问题解决办法

PHP图像处理类库MagickWand用法实例分析

提升PHP执行速度全攻略(下)

精品推荐
分类导航