百度ping方法使用示例 自动ping百度
发布:smiling 来源: PHP粉丝网 添加日期:2020-08-31 16:22:08 浏览: 评论:0
使用方法访问的时候自动ping到百度,我的方法是生成缓存,更新缓存的时候自动ping百度,返回结果为0表示成功,代码如下:
- $pingarcurl='http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
- $arcping = new Ping('php粉丝网',$pingarcurl,get_domain(),'https://www.phpfensi.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(emptyempty($title)||emptyempty($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表示成功。
Tags: 自动ping百度
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)