<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><section><h1>プロトコル</h1><figure class="short list"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NNTP</anchor></figcaption><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NNTPの日時形式</anchor></li></ul></figure></section><section><h1>perl で使う</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Net::NNTP</anchor> を使うのが一般的でしょう。</p><p>サーバーからの応答を取り出す正統的な方法がない (ですよね?)
のが問題。 (例えばエラーが返ってきても、何が原因かわかんない。)
FAQ には debug を使えと書いてあるが、さすがに <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">STDERR</anchor>
読んで解析は嫌。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> そんなあなたに裏業的方法。<ul><li>${*$nntp}{'net_cmd_code'}      ## 応答符号 (数値)</li><li>@{${*$nntp}{'net_cmd_resp'}}   ## 応答文字列 (行毎の配列)</li></ul></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> もし <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;2</anchor-internal> がなかったら <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Net::NNTP</anchor> と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Net::SMTP</anchor>
再発明したろーかとまじで思ってた。
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Net::Cmd</anchor> とか継承関係で code がさぱーりなのねん。)</p></section><section><h1>NNTP 入門</h1><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> <em>NNTPの話し方</em> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://carrot.mimora.com/hack/newshtml/nntp.html">http://carrot.mimora.com/hack/newshtml/nntp.html</anchor-external>
<form xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" ref="comment"></form></li></ul></section><section><h1>NNTP RFCs</h1><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC977</anchor>, 『Network News Transfer Protocol』, 1986年2月。</li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC2980</anchor>, 『ommon NNTP Extension』, 2000年10月。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> その後の標準化は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ietf-nntpext</anchor> で行われており、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">I-D</anchor> に draft-ietf-nntpext-base があります。</li></ul><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 3977</anchor></p></section><section><h1>メモ</h1><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> <em>INN ARCHIVES</em> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://m7.st/INN/archives/">http://m7.st/INN/archives/</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> かつて  Stan Barber が書いた <em>NNTP</em> という NNTP server がありました。 (今もあるのかはわかりません。) これが最初の NNTP の実装だそうです。 NNTP 1.5 とはこの実装の 1.5 版であって、プロトコル NNTP の 1.5 版はありません。</li></ul><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> <cite xml:lang="en">RFC 8054 - Network News Transfer Protocol (NNTP) Extension for Compression</cite>
(<time>2017-01-28 00:54:34 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://tools.ietf.org/html/rfc8054">https://tools.ietf.org/html/rfc8054</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> <cite xml:lang="en">RFC 8143 - Using Transport Layer Security (TLS) with Network News Transfer Protocol (NNTP)</cite>
(<time>2017-04-23 23:13:44 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://tools.ietf.org/html/rfc8143">https://tools.ietf.org/html/rfc8143</anchor-external></p></section></body></html>