出版社:电子工业出版社
年代:2007
定价:60.0
本书全面介绍了使用Python语言进行网络编程的基础知识,主要内容包括网络基础知识、高级网络操作、Web Services、解析HTML和XHTML、XML、E-mail服务、FTP、使用Python操作数据库、SSL、几种服务器端框架(包括Socket服务器、SimpleXMLRPCServer、CGI和mod_python),以及多任务处理(包括Forking、线程和异步通信)等。本书实用性强,共提供了大约175个实例,6600行以上的代码,是帮助读者全面而快速地学习Python语言、编写网络程序的最佳实践。本书可以作为各层次Python、Web和网络程序的开发人员的参考书,在实际工作中使用书中的技术,效果更佳。
关于作者
关于技术审校
致谢
简介
第1部分底层网络
第1章客户/服务器网络介绍
1.1理解TCP基础
1.2使用客户/服务器模式
1.3理解UDP
1.4理解物理传输和以太网
1.5Python网络编程
1.6总结
第2章网络客户端
2.1理解socket
2.2建立socket
2.3利用socket通信
2.4处理错误
2.5使用UDP
2.6总结
第3章网络服务器
3.1准备连接
3.2接受连接
3.3处理错误
3.4使用UDP
3.5使用inetd或xinetd
3.6通过syslog宋记录日志
3.7避免死锁
3.8总结
第4章域名系统
4.1进行]3NS查询
4.2使用操作系统查询服务
4.3使用PyDNS进行高级查询
4.4总结
第5章高级网络操作
5.1半开放socket
5.2超时
5.3传输字符串
5.4理解网络字节顺序
5.5使用广播数据
5.6使用IPv6
5.7绑定到特殊的地址
5.8使用poll()或select()实现事件通知
5.9总结
第2部分Webservice
第6章Web客户端访问
6.1获取Web页面
6.2认证
6.3提交表单数据
6.4处理错误
6.5使用非HTTP协议
6.6总结
第7章解析HTML和XHTML
7.1理解基本的HTML解析
7.2处理真实的HTML
7.3一个实际可以工作的例子
7.4总结
第8章XML和XML-RPC
8.1理解XML文档
8.2使用DOM
8.3使用XML-RPC
8.4总结
第3部分E-mail服务
第9章E-mail的编写和编码
9.1理解传统信息
9.2撰写传统的邮件
9.3解析传统邮件
9.4理解MIME
9.5添加MIME附件
9.6编写MIME替换方法
9.7构建非英语的header
9.8组成嵌套的多部分
9.9解析MIME邮件
9.10总结
第10章简单邮件传输协议(SMTP)
10.1SMTP库简介
10.2错误处理和会话调试
10.3从EHLO中得到信息
10.4使用安全sockets层(SSL)和安全传输层(TLs)
10.5认证
10.6SMTP技巧
10.7总结
第11章POP
11.1连接和认证
11.2取得邮箱信息
11.3下载邮件
11.4删除邮件
11.5总结
第12章IMAP
12.1理解Pydlon中的MAP
12.2TWisted中的IMAP简介
12.3理解Twisted基础
12.4扫描文件夹列表
12.5检查文件夹
12.6基本下载
12.7标记和删除邮件
12.8取得邮件的部分内容
12.9查找邮件
12.10添加邮件
12.11建立和删除文件夹
12.12在文件夹之间移动邮件
12.13总结
第4部分多用途的客户端协议
第13章FTP
13.1理解FTP
13.2用Python实现FTP功能
13.3以ASCII模式下载文件
13.4以二进制模式下载文件
13.5上传数据
13.6处理错误
13.7扫描目录
13.8递归下载
13.9操纵服务器上的文件和目录
13.10总结
第14章数据库客户端
14.1SQL和网络
14.2Python中的SQL
14.3连接
14.4执行命令
14.5事务
14.6重复指令
14.7得到数据
14.8阅读Metadata
14.9使用数据类型
14.10总结
第15章SSL
15.1理解网络弱点
15.2使用SSL降低攻击
15.3理解Python中的SSL
15.4使用内置的SSL
15.5使用OpenSSL
15.6使用OpenSSL验证服务器证书
15.7总结
第5部分服务器端框架
第16章SoCketserver
16.1使用BaseHTTPServer
16.2SimpleHTTPServer
16.3CGIHTTPServer
16.4实现新协议
16.5IPv6
16.6总结
第17章SlmpleXMLRPCServer
17.1SimpleXMLRPCServer基础
17.2提供函数
17.3使用类的特性
17.4使用DocXMLRPCServer
17.5使用CGIXMLRPCRequestHandler
17.6支持Multicall函数
17.7总结
第18章CGI
18.1设置CGI
18.2理解CGI
18.3理解使用Pvthon编写CGI
18.4取得环境信息
18.5取得输入
18.6转义特殊字符
18.7处理一个字段的多个输入
18.8上传文件
18.9使用cookie
18.10总结
第19章mod-python
19.1理解为什么需要mod-python
19.2安装和配置mod-python
19.3理解mod_python基础
19.4分派请求
19.5处理输入
19.6转义(Escaping)
19.7理解解释器实例
19.8在mod_dython中预建立处理程序
19.9总结
第6部分多任务处理
第20章forking
20.1理解进程
20.2理解fork()
20.3forking的第一步
20.4forking服务器
20.5锁定
20.6错误处理
20.7总结
第21章线程
21.1在Python中使用线程
21.2编写含有线程的服务器
21.3编写含有线程的客户端
21.4总结
第22章异步通信
22.1决定是否使用异步I/O
22.2使用异步通信
22.3高级的服务器端使用
22.4监控多个mastersocket
22.5在服务器上使用Twisted
22.6总结
索引
Python语言非常流行的一个原因在于它方便而灵活的特性。使用Python编写网络程序同样是非常方便的,它可以无拘无束地访问操作系统的网络库,更不用说很多不同的模块了,它们可以实现诸如HTTP、FTP、SMTP、IMAP、DNS等完整的协议。无论您是要编写网络程序来和本地的机器通信,还是和远程的服务器通信,Python都是您需要的语言。为了使您能快速掌握Python网络编程,书中加入了大约175个示例程序。本书的第1部分讨论了客户端和服务器的设计,这是所有网络应用程序的基础。您将学到如何利用IPv6的优点来编写应用程序,如何与域名服务器通信,以及如何获取网页等。本书第2部分将向您演示如何编写发送和接收E-mail的程序、提供静态和动态网页的程序、传输文件以及其他网络程序。您将学到如何使用Apache的modpython模块来建立基于Web的Pyttion应用程序。本书最后一部分侧重于Python网络编程高级应用方面的知识,讲解了如何使用多任务处理和无阻塞的I/O来编写可以同时处理上千个客户端的服务器程序。在这个过程中,您将学到编写很多成功网络程序的奥秘。最重要的是,通过对超过6600行独立的、现成的代码的学习,您将能够立刻把您学到的知识应用到实践中去。 本书全面介绍了使用Python语言进行网络编程的基础知识,主要内容包括网络基础知识、高级网络操作、WebServices、解析HTML和XHTML、XML、E-mail服务、FTP、使用Python操作数据库、SSL、几种服务器端框架(包括Socket服务器、SimpleXMLRPCServer、CGI和mod_python),以及多任务处理(包括Forking、线程和异步通信)等。本书实用性强,共提供了大约175个实例,6600行以上的代码,是帮助读者全面而快速地学习Python语言、编写网络程序的最佳实践。作者简介: JohnGoerzen从1996年开始就是DebianGNU/Linux操作系统开发组的成员,最近15年他一直都在从事软件开发方面的工作。他对操作系统、程序语言和网络都很感兴趣,并且在工作中也开发并用到以上这些方面的各种软件。目前,他在一个中等规模的制造公司中担当程序员和Unix管理员,并且已经使用Python开发了很多用于公司数据系统的接口。作为Debian工作组成员,John为系统维护了很多不同的程序。从1998年开始,他就致力于启动或向新的体系结构扩展Debian,并在Alpha、PowerPC、AMD64和NetBSDi386上取得了很大的成就。2003年,John被选进了SoftwareinthePublicInterest(SPI)的董事会。这个公司负责管理Debian在法律和财务上的事务。同年晚些时候,他被任命为SPI的副会长。除作为Debian工作组成员之外,John还用了大量的时间写软件。在他众所周知的作品中,有两个是用Python写的网络激活程序。OfflineIMAP是一个双向的邮件同步程序,而PyGoDherd是一个多协议的wcb和Gopber服务器。这两个软件都用Python独有的特性来支持模块体系结构,并且提供了很好的灵活性。John还写了很多书,包括那本800页的《LinuxProgrammingBible》。他还经常为杂志撰写文章,同时还是很多书的技术编辑。他还建立了AirCapitalLinux用户组,并经常在组里演讲。
肖建等, 编著
(英) 萨卡尔 (Sarker,D.M.O.F.) , 著
(美) 埃里克·马瑟斯 (Eric Matthes) , 著
(美) 卢茨 (Lutz,M.) , 著
(加) 唐纳森 (Donaldson,T.) , 著
(美) 春 (Chun,W.) , 著
(美) 卢克·斯内因格 (Luke Sneeringer) , 著
(美) 丘恩 (Chun,W.J.) , 著
(美) 坎贝尔 (Campbell,J.) , 等著