网络与通信程序设计:14 应用层_第1页
网络与通信程序设计:14 应用层_第2页
网络与通信程序设计:14 应用层_第3页
网络与通信程序设计:14 应用层_第4页
网络与通信程序设计:14 应用层_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第十四章 应用层网络编程14.1 WEB与HTTPWebBrowser 网页浏览器WebBrowser 是一个.NET 控件类 (.NET Framework 2.0中新增) ,使用它用户可以在窗体中导航网页。http:/zh-cn/library/system.windows.forms.webbrowser.aspx主要属性与方法Url/网址Navigate(Uri)/导航GoBack()/后退GoForward() /前进GoHome()/主页GoSearch()/搜索页HTTP协议HyperText Transfer Protocol,超文本传输协议WWW客户端和服务器端请求和应答的标

2、准,是应用层协议HTTP通信过程客户端发起请求,与服务器端完成“TCP三次握手”客户端向服务器端发出“HTTP请求报文”服务器端在完成内部处理后,向客户端发出“HTTP响应报文”客户端与服务器端完成“TCP四次分手”HTTP报文结构报文由三个部分组成:开始行、首部行和主体在请求报文中,开始行就是请求行协议定义了八种请求方法:GET/POST/HEAD参考:/01/2515.htm基于WebClient类实现文件/数据下载System.Net.WebClient类提供向 URI 标识的资源发送数据和从 URI 标识的资源接收数据的公共方法/zh-cn/library/tt0f69eh(v=vs.

3、80).aspxWebClient 使用 WebRequest 类提供对资源的访问WebRequest(abstract类,不可实例化)调用 Create 方法返回 WebRequest 实例调用 GetResponse 方法创建 WebResponse 实例WebClient 主要属性与方法主要属性Credentials Headers QueryString 主要方法OpenReadAsync DownloadDataAsync DownloadFileAsync OpenWriteAsync UploadDataAsync UploadFileAsync 编程实例使用WebClient下

4、载文件WebClient client = new WebClient();client.DownloadFile(下载地址, 保存路径);请求与响应(下载文本/数据)WebRequest wr = WebRequest.Create(URI);WebResponse wrp = wr.GetResponse();/请求上的响应logs.AppendText(wrp.ContentLength.ToString();StreamReader stream = new StreamReader(wrp.GetResponseStream();logs.AppendText(stream.Read

5、ToEnd();文件上传下载的多线程处理与同步使用 Invoke使用 BegingInvoke / EndInvoke 和 IAsyncResult使用 Thread 和 Timer 控件使用 BackgroundWorkerWebClient 更具体的类WebRequest (调用 Create 方法创建以下实例)HttpWebRequest (WebRequest 的HTTP实现, http:/ https:/)FtpWebRequest (WebRequest 的FTP实现, ftp:/)FileWebRequest (WebRequest 的文件系统实现,file:/)WebRespo

6、nse (在Request上用GetResponse方法创建)HttpWebResponseFtpWebResponseFileWebResponse网络爬虫与索引算法网络爬虫(网页蜘蛛,网络机器人),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。抓取策略可以分为广度优先、深度优先、最佳优先三种。AltaVista.索引的限制探索P:创建索引的元词把戏PageRank,网页排名算法拉里佩奇.解析大规模超文本网络搜索引擎J:随机访问者把戏“根据链入链接数对网页排名”SiteRank,网站排名算法站点划分和站点等级计算对网站间的链接抽象,计算权重FTP文件传输协议与实现FTP 文件传输

7、协议文件传输协议FTP(File Transfer Protocol)是TCP/IP提供的标准机制,使得主机间可以共享文件。FTP 使用 TCP 生成一个虚拟连接用于控制信息,然后再生成一个单独的 TCP 连接用于数据传输。协议指令与响应代码FTP编程实现编程实例/连接与认证WebRequest wr = WebRequest.Create(uristring);wr.Credentials = new NetworkCredential(usr, psw);/显式转换该连接为FTP连接FtpWebRequest fwr = (FtpWebRequest)wr;/发出显示目录详细信息的命令fw

8、r.Method = WebRequestMethods.Ftp.ListDirectoryDetails;/获得该连接上的响应FtpWebResponse response = (FtpWebResponse)wr.GetResponse();/显示回应代码及状态logs.Text = response.StatusDescription;/读取响应流并显示StreamReader stream = new StreamReader(response.GetResponseStream();logs.AppendText(stream.ReadToEnd();电子邮件传输协议与实现14.2

9、Email SMTP客户端POP3与SMTP协议Simple Transfer Protocol,提交和传送电子邮件,规定主机间传输电子邮件的标准交换格式和链路层传输机制,默认TCP 25端口。Post Office Protocol 3,提供信息存储功能,可以保存和下载邮件,默认TCP 110端口。SMTP协议SMTP定义了发送邮件的流程、格式、指令等内容。尝试连接,等候返回220 Ready发出HELO,等候返回250 OK发送MAIL FROM:,等待返回250 OK/550 No such user发出RCPT TO:,等待250 OK/550 No such user发送DATA,等

10、待响应354 Start mail input发送邮件标题及内容,并发送.结束,等待返回250 OK发出QUIT,等待响应221 OKCR 回车 r ASCII13;LF 换行 n ASCII 10.Net 对SMTP协议的支持System.Net.Mail 命名空间/zh-cn/library/.mail.aspxMailMessage 类表示邮件的内容SmtpClient 类将电子邮件传输到指定SMTP 主机Attachment 类创建邮件附件主要属性方法MailMessage.FromMailMessage.ToMailMessage.SubjectMailMessage.BodyMai

11、lMessage.AttachmentsSmtpClient.UseDefaultCredentialsSmtpClient.CredentialsSmtpClient.Send(MailMessage)邮件发送例程using System.Net;using System.Net.Mail;/定义邮件MailMessage mm = new MailMessage();mm.From = new MailAddress(poster); /定义发件人mm.To.Add(mailto); /添加收件人mm.Subject = mailtitle;/邮件标题mm.Body = mailbody;/邮件内容mm.IsBodyHtml = true ; /邮件主体支持htmlmm.Attachments = new Attachment(filename); /邮件附件/发送邮件SmtpClient sc = new SmtpClient(smtphost, smtphostport);sc.UseDefaultCredentials = true;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论