高层协议POP3与HTTP

高层协议POP3与HTTP

ID:36572632

大小:37.50 KB

页数:12页

时间:2019-05-12

高层协议POP3与HTTP_第1页
高层协议POP3与HTTP_第2页
高层协议POP3与HTTP_第3页
高层协议POP3与HTTP_第4页
高层协议POP3与HTTP_第5页
资源描述:

《高层协议POP3与HTTP》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、三、高层协议POP3与HTTP作者:仙人掌工作室  本节是《Java与Internet编程》的第三部分,也是最后一部分。在前面两节中,我们介绍了网络编程的基础知识,如协议、端口、套接字、UDP等,并给出了一些客户程序和服务程序的实现实例。本节我们介绍两个更高级的协议:POP3和HTTP,并给出一个POP3客户程序和一个HTTP服务器的实现。  ㈠POP3协议简介  POP3是一种高级网络协议,它的全称是PostOfficeProtocolVersion3。使用该协议,客户程序能够动态地、有效地访问服务器上的邮件。简单地说,POP3是一种能够让客户程序提取驻留于服务器的邮件的协议。有关POP3的

2、操作可以概括为:服务器在端口110监听客户请求。客户程序发出连接请求并通过身份验证。客户程序发送命令;服务器处理命令并将结果发送给客户程序;重复这个过程直至客户程序结束或中止连接为止。  POP3命令都是单行的,它由一个关键字开头,后面加上一个或多个参数,最后为一个回车符加一个换行符(CRLF)。服务器的应答可以由一行或多行组成,开头内容总是命令处理结果(+OK或-ERR),紧接着是其他附加信息,最后是一个CRLF。对于多行应答,最后一行是英文句点(“.")加一个CRLF。  下表是部分POP3命令的说明: 命令说明STAT获得邮箱的状态信息,即邮件数量及大小。RETRmsg下载指定的邮件。D

3、ELEmsg将指定的邮件标记为删除。NOOP空操作。RSET取消所有的删除标记。QUIT结束会话。TOPmsgn下载指定邮件的头信息及前面的n行。UIDL[msg]获得所有邮件或指定邮件的唯一标识符。USERname标示将要访问的邮箱(即用户名字)。PASSpw发送由USER命令指定的用户的密码(以明文发送)。  ㈡POP3客户程序实例  下面的MailStat.java程序演示了POP3协议的基本用法。该程序的功能是检查指定服务器上的邮件状态。 【MailStat.java】 publicclassMailStat{ privatestaticfinalintPOP3_PORT=110; p

4、ublicstaticvoidmain(String[]args){ Stringhost; InetAddresshostAddress; Stringusername; Stringpassword; SocketmailSocket; BufferedReadersocketInput; DataOutputStreamsocketOutput; //检查参数 if(args.length<3){ System.out.println("用法:MailStat[服务器][用户名字][密码]"); } else{ host=args[0]; username=args[1]; passwo

5、rd=args[2]; try{ hostAddress=InetAddress.getByName(host); System.out.println("正在连接服务器"+hostAddress+"..."); mailSocket=newSocket(host,POP3_PORT); try{ socketInput=newBufferedReader( newInputStreamReader(mailSocket.getInputStream())); socketOutput=newDataOutputStream(mailSocket.getOutputStream()); //从

6、服务器读入初始应答 readReply(socketInput); //验证身份 sendCommand(socketOutput,"USER"+username); readReply(socketInput); sendCommand(socketOutput,"PASS"+password); readReply(socketInput); //获得状态信息 sendCommand(socketOutput,"STAT"); readReply(socketInput); //结束会话 sendCommand(socketOutput,"QUIT"); readReply(socketI

7、nput); }finally{ mailSocket.close(); } } catch(ExceptiontheException){ System.out.println(theException); } } System.exit(0); }  /** *sendCommand()发送一个POP3命令 */ privatestaticvoidsendCommand(DataOutputS

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。