NNTP协议备注

【参考资料】
【1】https://tools.ietf.org/html/rfc3977
【2】《TCP/IP 详解 卷三》
【3】https://www.cnblogs.com/yangmingxianshen/p/7902401.html

一、基本概念
  1. NNTP(Network News Transfer Protocol) 网络新闻传输协议,用以在互联网上共享新闻数据
    在这里插入图片描述

  2. NNTP基于TCP协议,默认端口号119

  3. NNTP也采用ASCII码的请求、响应模式来进行协议交互,与SMTP类似

  4. NNTP服务端具备两种模式,第一种是"READING"模式,即客户端从服务端获取文章或者提交该用户创建的文章;第二种是"TRANSIT",即从一个服务端向另外一个服务端大规模的搬迁文章;

二、主要命令
会话管理相关命令

2.1 CAPABILITIES
参数: 可选的扩展关键字
功能: 客户端获取服务端提供的能力列表
例子:

[C] CAPABILITIES
[S] 101 Capability list:
[S] VERSION 2
[S] READER
[S] LIST ACTIVE NEWSGROUPS

2.2 MODE READER
参数: 无
功能: 触发服务端进行模式切换,即第一章节第四条
例子:

[C] MODE READER
[S] 200 Reader mode, posting permitted
[C] MODE READER
[S] 502 Transit service only

2.3 QUIT
参数: 无
功能: 中止会话
例子:

[C] QUIT
[S] 205 closing connection
此时服务端关闭会话

发布获取文章相关命令

2.4 GROUP
参数: 新闻组名称
功能: 获取所选新闻组的基本情况,包括预估文章数量,第一和最后一篇文章的文章号
例子:

[C] GROUP misc.test
[S] 211 1234 234 567 misc.test

2.5 LISTGROUP
参数: 可选的新闻组名称
功能: 返回该新闻组内的文章号列表
例子:

[C] GROUP misc.test
[S] 211 2000 3000234 3002322 misc.test
[C] LISTGROUP
[S] 211 2000 3000234 3002322 misc.test list follows
[S] 3000234
[S] 3000237
[S] 3000238

2.6 LAST(NEXT)
参数: 无
功能: 获取新闻组的上(下)一篇文章
例子:

[C] GROUP misc.test
[S] 211 1234 3000234 3002322 misc.test
[C] NEXT
[S] 223 3000237 668929@example.org retrieved
[C] LAST
[S] 223 3000234 45223423@example.com retrieved

2.7 ARTICLE
参数: 文章ID或者编号
功能: 获取文章信息,包含文章头和文章主体信息
例子:

[C] GROUP misc.test
[S] 211 1234 3000234 3002322 misc.test
[C] ARTICLE
[S] 220 3000234 45223423@example.com
[S] Path: pathost!demo!whitehouse!not-for-mail
[S] From: “Demo User” nobody@example.net
[S] Newsgroups: misc.test
[S] Subject: I am just a test article
[S] Date: 6 Oct 1998 04:38:40 -0500
[S] Organization: An Example Net, Uncertain, Texas
[S] Message-ID: 45223423@example.com
[S]
[S] This is just a test article.
[S] .

2.8 HEADER(BODY)
参数: 文章ID或者编号
功能: 只获取文章头(文章体)信息
例子: 参考ARTICLE命令

2.9 STAT
参数: 文章ID或者编号
功能: 判断文章是否存在,类似ARTICLE但不返回具体文章信息
例子:

[C] STAT 45223423@example.com
[S] 223 0 45223423@example.com

2.10 POST
参数: 无
功能: 触发发布一篇文章,以 . 结尾
例子:

[C] POST
[S] 340 Input article; end with .
[C] From: “Demo User” nobody@example.net
[C] Newsgroups: misc.test
[C] Subject: I am just a test article
[C] Organization: An Example Net
[C]
[C] This is just a test article.
[C] .
[S] 240 Article received OK

2.11 IHAVE
参数: 文章ID
功能: 知会服务端有这样一篇文章,如果服务端需要就返回335,之后客户端给出这篇文章
例子:

[C] IHAVE i.am.an.article.you.will.want@example.com
[S] 335 Send it; end with .
[C] Path: pathost!demo!somewhere!not-for-mail
[C] From: “Demo User” nobody@example.com
[C] Newsgroups: misc.test
[C] Subject: I am just a test article
[C] Date: 6 Oct 1998 04:38:40 -0500
[C] Organization: An Example Com, San Jose, CA
[C] Message-ID: i.am.an.article.you.will.want@example.com
[C]
[C] This is just a test article.
[C] .
[S] 235 Article transferred OK

信息相关命令

2.12 DATE
参数: 无
功能: 返回服务端时间戳
例子:

[C] DATE
[S] 111 19990623135624

2.13 NEWGROUPS (NEWNEWS)
参数: 时间戳
功能: 返回某个时间后的新闻组(新闻)
例子:

[C] NEWGROUPS 19990624 000000 GMT
[S] 231 list of new newsgroups follows
[S] alt.rfc-writers.recovery 4 1 y
[S] tx.natives.recovery 89 56 y

[C] NEWNEWS news.,sci. 19990624 000000 GMT
[S] 230 list of new articles by message-id follows
[S] i.am.a.new.article@example.com
[S] i.am.another.new.article@example.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值