欢迎来到天天文库
浏览记录
ID:57383823
大小:54.50 KB
页数:20页
时间:2020-08-14
《Python课件PPT:第16章--网络编程的应用.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第16章网络编程的应用本章内容16.1网络概要16.2socket模块16.3HTTP库16.4urllib库16.5ftplib模块16.6电子邮件服务协议16.7新闻群组16.8远程连接计算机16.1网络概要网络系统(networksystem)是使用OSI/ISO(OpenSystemsInterconnection/InternationalStandardsOrganization),国际标准化组织制定的开放系统互连七层模型(seven-layermodel)来定义。这七层模型代表七层的网络进程:物理层,数据链路层,网络层,传输层,会话层,表示层,以及
2、应用层。现在的网络协议(包括TCP/IP)实际上会使用较少的层数,而不是OSI定义的完整层数。所以当您想要将TCP/IP会话映射到OSI模型时,您常会弄不清楚发生什么问题。因为有些层已经合并,有些则是已经删除。16.2socket模块16.2.1认识socket模块16.2.2创建socket连接16.2.1认识socket模块16.2.1认识socket模块socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯。socket模块提供了标准的网络接口,可以访问底层操作系统socket接口的全
3、部方法。Python使用socket()函数来创建套接字,语法格式如下:socket.socket([family[,type[,protocol]]])16.2.2创建socket连接16.2.2创建socket连接下面使用socket模块的socket函数来创建一个socket对象。socket对象可以通过调用其他函数来设置一个socket服务。通过调用bind(hostname,port)函数来指定服务的port(端口)。然后调用socket对象的accept方法。该方法等待客户端的连接,并返回connection对象,表示已连接到客户端。16.3HTTP
4、库16.3.1socketserver模块16.3.2server模块16.3.3client模块16.3.1socketserver模块16.3.1socketserver模块socketserver模块提供一个架构,来简化网络服务器的编写工作。用户不需要使用低级的socket模块,socketserver模块提供四个基本的server类:TCPServer,UDPServer,StreamRequestHandler以及DatagramRequestHandler。这些类处理同步的要求,每一个请求都必须在下一个请求开始前完成。但是如果是客户端需要长时间的计算
5、,这些类就不适合。为了以个别的线程来处理要求,可以使用下列类:ThreadingTCPServer,ThreadingUDPServer,ForkingTCPServer以及ForkingUDPServer。StreamRequestHandler与DatagramRequestHandler类提供两个属性:self.rfile与self.wfile,可以用来在客户端应用程序读/写数据。16.3.2server模块http模块的子模块server提供各种HTTP服务。主要包括BaseHTTPServer类、CGIHTTPServer类与SimpleHTTPSer
6、ver类。server模块定义两个基类,来操作基本的HTTP服务器(也称为网站服务器)。此模块以socketserver模块为基础,并且很少直接使用。server模块的第一个基类是HTTPServer类,其语法为:classHTTPServer((hostname,port),RequestHandlerClass)HTTPServer类由socketserver.TCPServer类派生。此类创建一个HTTPServer对象,并且监听(hostname,port),然后使用RequestHandlerClass来处理要求。16.3.3client模块16.3.
7、3client模块client模块主要处理客户端的请求。client模块的HTTPConnection类创建并且返回一个connection对象。HTTPConnection类的语法如下:classHTTPConnection([hostname[,port]])如果没有设置参数port,默认值是80。如果所有的参数都没有设置,必须使用connect()方法来自行连接。16.4urllib库16.4.1request模块16.4.2parse模块16.4.1request模块16.4.1request模块request模块是使用socket来读取网络数据的接口,
8、支持HTTP,FTP,以
此文档下载收益归作者所有