作者:摄影师张恒 | 来源:互联网 | 2018-03-22 18:41
跳至
class ping{
private $title; //博客名称
private $hosturl; //博客首页地址
private $arturl; //新发文章地址
private $rssurl; //博客rss地址
private $baiduXML; //百度XML结构
private $baiduRPC; //百度XML地址
public function __construct($title,$arturl,$hosturl,$rssurl)
{
if(empty($title) || empty($arturl))
return false;
$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 .='';
}
public function pingbaidu()
{
$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;
}
}
function get_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 = new Ping('网站标题','更新的URL地址','网站域名','rss地址');
//$arc = new Ping('你网站的title',get_arcurl($id),get_domain(),'http://www.abc.com/rss.php');
//echo $arc->pingbaidu();
//返回结果为0 表示成功。