欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

百度ping接口 百度ping方法

程序员文章站 2022-05-20 14:41:39
...
跳至
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 表示成功。