ホームページ > php教程 > php手册 > ソケットの使用: ニュースグループから記事を取得する (2)

ソケットの使用: ニュースグループから記事を取得する (2)

WBOY
リリース: 2016-06-21 09:03:38
オリジナル
833 人が閲覧しました
サーバーと通信する
サーバーに接続したので、前に開いたソケットを介してサーバーと通信できます。たとえば、特定のニュース グループから最新の 10 件の記事を取得したいとします。 RFC977 は、最初のステップは、GROUP コマンドを使用して正しいニュース グループを選択することであると指摘しています。
GROUP ggg
パラメータ ggg は、選択されるニュース グループの名前です (たとえば、「net.news」) )、これは必須です。利用可能なニュースグループのリストは、LIST コマンドを使用して取得できます。ニュースグループを選択するコマンドが成功すると、グループ内の最初と最後の記事の記事番号と、グループ内の記事の数が返されます。
次に例を示します。
chrome:~$ telnet my.news.host 119
aa.bb.cc.dd を試行しています...
my.news.host に接続しました。エスケープ文字は '^]' です。
200 my.news.host InterNetNews NNRP サーバー INN 2.2.2 13-Dec-1999 準備完了 (投稿OK)
GROUP alt.test
211 232 222996 223235 alt .test
quit
205 .

コマンド GROUP alt.test を受信すると、サーバーは RFC で定義されている戻りコード「211 232 222996 223235 alt.test」を返します。コマンドは正常に実行されました。戻り情報には、現在 232 件の記事があり、最も古い記事番号が 222996、最新の記事番号が 223235 であることも指摘されています。 222996+232 は 223235 に等しくないことがわかります。欠落している 7 つの記事は、正当な著者によってキャンセルされたため (これは可能かつ簡単です)、またはスパム記事だったために、何らかの理由でサーバーから削除されました。
注意すべき点として、サーバーによっては、パブリック サーバーかプライベート サーバーかに応じて、ニュース グループを選択する前に認証が必要な場合があります。また、サーバーは誰でも記事を読むことを許可していますが、記事を公開するには認証が必要である可能性があります。


//$cfgUser = "xxxxxx";
//$cfgPasswd = "yyyyyy";
$cfgNewsGroup = "alt.php" ; 🎜>
//プライベートサーバーでは識別が必要です
if($cfgUser) {
fputs($usenet_handle, "AUTHINFO USER ".$cfgUser."n"); $usenet_handle, 1024);
fputs($usenet_handle, "AUTHINFO PASS ".$cfgPasswd."n"); // エラーをチェック

if($tmp != "281 Okrn") {
echo "502 Authentication errorn"; > }

//ニュースグループを選択

fput($usenet_handle, "GROUP ".$cfgNewsGroup."n"); fgets($usenet_handle, 1024);

if($ tmp == "480 認証が必要です") {
echo $tmp;
}

$info = split(" ", $tmp);
$first= $info[2];
$last = $info[3];

printf("最初 : %sn", $first);
printf("Last : % lastn", $last);

?>






関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート