ホームページ >バックエンド開発 >PHPチュートリアル >Baidu ping メソッドの使用例 Baidu_PHP を自動的に ping するチュートリアル

Baidu ping メソッドの使用例 Baidu_PHP を自動的に ping するチュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:39:461073ブラウズ

この方法を使用してアクセスするときに Baidu に自動的に ping を実行する 私の方法は、キャッシュを生成し、キャッシュを更新するときに Baidu に自動的に 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;//Baidu XML 構造
private$baiduRPC;//Baidu 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='';
$this->baiduXML.='';
$this-> ;baiduXML.='weblogUpdates.extendedPing';
$this->baiduXML.='';
$this->baiduXML.='< value>'.$this->hosturl.'';
$this->baiduXML.=''.$this->title.'';
$this->baiduXML.=' '.$this->arturl.'';
$this->baiduXML.='< ;string>'.$this->rssurl.'';
$this->baiduXML.='
';
$this ->baiduXML.='
';
}
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,"0"))?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://'== $ プロトコル)||(':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('Webサイトのタイトル','更新されたURLアドレス','Webサイトのドメイン名','RSSアドレス');
//$arc=newPing('ウェブサイトのタイトル',get_arcurl($id),get_domain(),'http://www.abc.com/rss.php');
//echo$arc->pingbaidu();
//戻り値 0 の結果は成功を示します。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/728118.html技術記事メソッドを使用してアクセスするときに Baidu に自動的に ping を実行する 私の方法は、キャッシュを生成し、キャッシュを更新するときに Baidu に自動的に ping を実行することです。返される結果は 0 で、成功を示します。 コードをコピーします コードは次のとおりです: $p...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。