ホームページ  >  記事  >  バックエンド開発  >  Webサイトを素早く作るためのPingサービスのPHP実装方法_PHPチュートリアル

Webサイトを素早く作るためのPingサービスのPHP実装方法_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:21:401032ブラウズ

この記事では引き続きこの ping サービスの問題について説明します。 まず、次の情報を要約してまとめます。
【1】手動 Ping サービスのアドレス:
Baidu (百度) のアドレス: http://ping.baidu.com/ping .html
Google (グーグル) アドレス: http://blogsearch.google.com/ping
Feedsky (FeiDie) アドレス: http://ping.feedsky.com/ping.html
Qihoo (Qihoo) アドレス: http:/ /so .blog.qihoo.com/pingblog.html
IASK アドレス: http://blog.iask.com/ping.php
[2] 自動 Ping サービス アプリケーション プログラミング インターフェイス (API):
Google: http:// blogsearch.google.com/ping/RPC2
Feedburner: http://ping.feedburner.com
Feedsky: http://www.feedsky.com/api/RPC2
Feedster: http://api.feedster.com/ ping.php
IASK: http://blog.iask.com/RPC2
Qihoo: http://ping.blog.qikoo.com/rpc2.php
新鮮な果物: ​​http://www.xianguo.com/xmlrpc /ping.php
エビを捕まえる: http://www.zhuaxia.com/rpc/server.php
ブログディガー: http://www.blogdigger.com/ RPC2
blo.gs: http://ping.blo. gs/
ICEROCKEThttp://rpc.icerocket.com:10080/
さらに: http://api.moreover.com/RPC2
Newsgator: http:// rpc.newsgator.com/
Syndic8: http://www .syndic8.com/xmlrpc.php
ウェブログ: http://rpc.weblogs.com/RPC2
ウェブログ: http://ping.weblogalot.com/rpc .php
上記で提供されるものには、上記の ping サービスが含まれます。いくつかは私にとってうまくいきましたが、いくつかはうまくいきませんでした。それは状況によって異なります。ネットワーク環境などに応じて自分で試して、自分に合ったものを選択してください。推奨するものはありません。
さて、ここまで述べてきましたが、重要なポイントは、WordPress がバックグラウンドで ping サービスを実装する方法です。他のものはどうですか?たとえば、ping サービス機能を持たないブログ プログラムがある場合はどうすればよいでしょうか。 Fenrenの知る限り、ブログシステムで使いやすいWordPressにはPING機能が付いているのは間違いありませんが、ASP的なZ-BLOGはプラグインでこの機能を実現できるようです。他のブログ システムは?他は?他に何もない、私の唯一の選択肢はWordPress、他に何もなく、唯一のものです。ハハ、冗談じゃないよ。 PHP を使用して ping サービスを実装する場合の問題について説明します。これは、ping 機能をサポートしていない他の Web サイトやシステム向けに、それを実装するためのインターフェイスを開発することができます。たとえば、Fenxun は最近このプロジェクトを研究しています。
言っておきたいのは、Baidu の ping と Google の送信形式は異なるということです。これについて簡単に説明し、Baidu と Google をそれぞれ紹介します (なぜ Baidu ではないのですか? あまり絡まないでください)。はい...):
[*1] Google の ping サービスの PHP 実装
RPC の詳細については、Google の ping サービスの標準である Wikipedia を参照してください:
RPC エンドポイント: http://blogsearch .google.com /ping/RPC2
呼び出しメソッド名: weblogUpdates.extendedPing
パラメータ: (以下にリストされているのと同じ順序で送信する必要があります)
サイト名
サイト URL
更新を確認する必要があるページの URL
対応する RSS、RDF、または Atom シードの URL
オプション: ページ コンテンツのカテゴリ名 (またはタグ)。 「|」文字で区切って複数の値を指定できます。
まず、Google の RPC エンドポイントを POST するための CURL 関数を作成します。

コードをコピーします。 コードは次のとおりです。
function postUrl($url, $postvar) {
$ch =curl_init(); $ headers = array(
"POST ".$url." HTTP/1.0",
"Content-type: text/xml;charset="utf-8"",
"Accept: text/xml",
"Content - 長さ: ".strlen($postvar)
);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt( $ ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postvar);
curl_close ($ch);記述したら、あとは送信されたデータを Google の XML-RPC 標準に従って組み立てるだけです。詳細なリクエストの例については、ここをクリックして公式のケースを参照してください。
たとえば、私のコードは次のように書かれています:



コードをコピーします

コードは次のとおりです:
$ googlexml =<<< end; end<?xmlバージョン= "1.0″?>
< methodcall>
< methodname> weblogupdates.extendeding</methodname>パラメータ>

http://s.jb51.net/archives/47.html param>http://s.jb51.net/feed
:/ /blogsearch.google.com/ping/RPC2′, $googleXML);
//リターンが成功したかどうかの判定は以下の通り(Google pingのインターフェース記述による)
if (strpos($ res, "0< /boolean>"))
echo "PING 成功";
else
echo "PING 失敗";


OK、これは単に Google の PING サービスを実装することができます。コードを変更してこの関数を実装できます。
[*2] Baidu の ping サービスの PHP 実装 (このタイトルは実際には DT)
Baidu の ping サービスの XML コードは Google とは常に異なります:
Baidu ブログ ping サービスの紹介、Baidu の詳細な紹介については、ブログ Ping サービスについては、http://www.baidu.com/search/blogsearch_help.html#n7 にアクセスしてください。
Baidu の ping サービスも XML-RPC 標準プロトコルに基づいていますが、Google の ping サービスとは異なり、Baidu の ping によって送信される XML 形式は異なります。コンテンツをラップするために文字列ノードを使用する必要があります。
例:



コードをコピーします

コードは次のとおりです:


weblogUpdates.extendedPing
Web サイトをすぐに含めることができる PHP 実装メソッド

http://s.jb51.net/

<値>http://s.jb51.net/archives/47.html

<値> ;string>http: //s.jb51.net/feed
前述の Google インターフェースによるもちろん、Baidu ping サービスによって返される判定は、Google の判定とは異なります。以下は php コードです:
。コード

コードは次のとおりです。


$ baiduXML = <<
;methodName>weblogUpdates.extendedPing

Web サイトを迅速に含めることができる PHP 実装メソッド
;http://s.jb51.net/archives/47.html

http:/ /s.jb51.net/feed


$res = postUrl; baidu.com/ping/RPC2′, $baiduXML);
/ /復帰が成功したかどうかの判定は以下の通り(Baidu pingのインターフェース記述による)
if (strpos($res, " 0"))
echo "PING success";
else
echo " PING failed";

上記のコードは、PHP の ping サービスを実装できます。それでは、Baidu ping サービス コードを提供します。これをユニークなものにしているのは誰ですか?

コードをコピーします コードは次のとおりです:

function postUrl($url, $postvar)
{
$ch =curl_init();
$headers = array(
"POST ".$url." HTTP/1.0",
"Content-type: text/xml; charset="gb2312"",
"Accept: text/xml",
"Content-長さ: ".strlen($postvar)
);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postvar);
curl_close ($ch);
$baiduXML = " ;?xml バージョン = "1.0" エンコーディング = "gb2312"?>
<メソッドコール>
<メソッド名>weblogUpdates.extendedPing

脚本之家
http://www.jb51.net
http://www.jb51.net/a/15222.html
http://www.jb51.net

";
$res = postUrl('http://ping.baidu.com/ping/RPC2', $baiduXML);
if ( strpos($res, "0") )
{
echo "PING成功";
}
else
{
echo "PING失败";
}
?>


此文很DT的让我浪费了N个草稿才写コードの問題の重大な問題は、国内の WP メインでサポートされていないため、これは私が考えているDTです。啥?知らない道……

http://www.bkjia.com/PHPjc/324871.html

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/324871.html技術記事この篇文章继续说这个ping服务の问题、首先归纳と总结以下资料: 【1】手動Ping服务地址: Baidu(百度)地址: http://ping.baidu.com/ping.html Goog...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。