SMTP、POP3、NNTP、FTP、HTTP 的服务器指令
SMTP常用指令
1、MAIL FROM: <发件人地址><CRLF> ;向接收者标识发件人地址。
2、RCPT TO: <收件人地址><CRLF> ;标识收件人地址。
3、DATA<CRLF> ;请求发送消息数据,每行以<CRLF>结尾,以一个只有“.”号的行结束。
4、QUIT<CRLF> ;关闭连接。
HTTP常用指令
对于HTTP服务器一般只需发送一个GET命令即可,格式如下:
GET <路径> HTTP/1.0<CRLF><CRLF>
其中路径为服务器上的有效路径或带有完整路径的文件名,命令发出后服务器会返回一组数据并断开与你的连接。这组数据一般分为报头和文件数据两个部分,报头一般以“HTTP/1.x 200 OK”开头表示成功,如其中的“200”为“404”则表示文件未找到,如是其它的数字均表示不成功。报头以<CRLF><CRLF>结束,接下来就是你所需要的文件数据了。
以下是IE5.0向服务器发出请求的实例:
GET / HTTP/1.1
Accept: */*
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
If-Modified-Since: Mon, 07 Aug 2000 04:02:46 GMT
If-None-Match: "0b7e757240c01:1bce"
User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)
Host: dong
Connection: Keep-Alive
以下是一个HTTP服务返回的数据实例:
HTTP/1.1 200 OK
Server: Microsoft-IIS/4.0
Content-Location: http://202.103.202.203/Default.htm
Date: Sat, 26 Aug 2000 02:15:07 GMT
Content-Type: text/html
Accept-Ranges: bytes
Last-Modified: Mon, 07 Aug 2000 04:02:46 GMT
ETag: "0b7e757240c01:1c5a"
Content-Length: 628
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>旭东网站</title>
</head>
<frameset rows="95,*" framespacing="0" border="0" frameborder="0">
<frame name="header" scrolling="no" noresize target="main" src="dong_bt.htm" marginwidth="12" marginheight="0">
<frame name="main" src="dong_zy.htm" target="_self" scrolling="auto">
<noframes>
<body>
<p>此网页使用了框架,但您的浏览器不支持框架。</p>
</body>
</noframes>
</frameset>
</html>
POP3常用指令
POP3服务器响应一般为:“+OK”表示成功,“-ERR”表示失败。
1、USER <用户名><CRLF> ;用户登录。
2、PASS <密码><CRLF> ;发送用户密码。
3、STAT<CRLF> ;返回邮箱列表(邮件数量、字节)。
4、DELE <邮件编号><CRLF> ;删除指定的邮件。
5、LIST <邮件编号><CELF> ;返回指定的邮件报头。
6、RETR <邮件编号><CRLF> ;传回指定的邮件,以只有一个“.”号的行结束。
7、QUIT<CRLF> ;关闭连接。
NNTP常用指令
1、ARTICLE [<文章编号或消息ID号>]<CRLF> ;返回指定的文章,以只有“.”号的行结束。
2、LIST<CRLF> ;返回一份新闻组列表。
3、GROUP <新闻组名><CRLF> ;选定一个新闻组。
4、LAST<CRLF> ;把当前文章指针移向上一篇文章。
5、NEWGROUP <yymmdd> <hhmmss><CRLF> ;返回在指定时间之后创建的新闻组。
6、NEWNEWS <新闻组名> <yymmdd> <hhmmss><CRLF> ;返回在指定时间之后创建的文章。(<yymmdd>为年月日,<hhmmss>为时分秒)
7、POST<CRLF> ;请求张贴新文章。返回“340”表示可以发送,接下来就可以发送文章内容了,每行以<CRLF>结尾,以只有一个“.”号的行结束。如果服务器返回“400”表示不许张贴。
FTP常用指令
1、USER <用户名><CRLF> ;注:<CRLF>表示回车换行。
指定登录的用户名,在连接到FTP服务器后会收到一个以200开头的响应,这表示服务器已准备好,你可以用这个命令开始登录了,命令发出后会收到以230开头的响应表示用户已登录,或以331开头的响应表示需要密码。
2、PASS <密码><CRLF>
当服务器响应331需要密码时,就用这个指令把密码发送到服务器。命令发出后会收到230响应表示已经登录请继续,或530响应表示无法登录。
3、PORT h1,h2,h3,h4,p1,p2<CRLF>
为数据连接指定一个IP地址和本地端口,h1—h4是Internet主机的IP地址,p1是本地端口的高位字节,p2是本地端口的低位字节。
4、APPE <文件名><CRLF>
让服务器准备接收一个文件并把这些数据附加到指定的文件中,如果指定的文件不存在就创建它。服务器会响应:125->数据连接已打开,传输启动;150->准备打开数据连接;226->关闭数据连接,操作已成功;250->已完成;421->服务不可用;425->无法打开数据连接;450、532、550、553->无法执行。
5、CWD <路径><CRLF>
改变当前目录为指定的目录(像DOS的CD命令)。服务器响应:250->已完成;421或550->无法执行。
6、DELE <文件名><CRLF>
删除服务器上的指定文件。服务器响应:250->已完成;421、450、550->无法执行。
7、LIST [<路径>]<CRLF>
列出指定路径上的文件名(像DOS的DIR命令)。服务器响应同APPE。
8、MKD <路径><CRLF>
在服务器上创建一个目录。服务器响应:257->已创建;421、550->无法执行。
9、PWD<CRLF> ;返回当前目录名称。
10、QUIT<CRLF> ;注销用户,终止连接。
11、RETR <文件名><CRLF> ;下载文件,服务器响应同APPE。
12、RMD <路径><CRLF> ;删除一个目录,服务器响应同DELE。
13、RNFR <文件名><CRLF>
更名一个文件的前一半进程,文件名是服务器上的一个有效文件名。服务器响应:350->等待进一步的信息;421、450、550->无法执行。
14、RNTO <文件名><CRLF>
更名一个文件的后一半进程,文件名为新的文件名。服务器响应:250->已完成;421、532、553->无法执行。
15、STOR <文件名><CRLF> ;让服务器接收来自数据连接的文件,响应同APPE。