基本信息
- 原书名:Foundations of Python Network Programming
- 原出版社: Apress
编辑推荐
175个完整实例 实践出真知
Sockets、DNS、Web Service、FTP、Email、SMTP、POP、IMAP、SocketServe、CGI、XML、Forking、数据库客户端、多线程、异步通信……
完整涵盖网络编程的方方面面
内容简介
计算机书籍
本书全面介绍了使用Python语言进行网络编程的基础知识,主要内容包括网络基础知识、高级网络操作、Web Services、解析HTML和XHTML、XML、E-mail服务、FTP、使用Python操作数据库、SSL、几种服务器端框架(包括Socket服务器、SimpleXMLRPCServer、CGI和mod_python),以及多任务处理(包括Forking、线程和异步通信)等。本书实用性强,共提供了大约175个实例,6600行以上的代码,是帮助读者全面而快速地学习Python语言、编写网络程序的最佳实践。
本书可以作为各层次Python、Web和网络程序的开发人员的参考书,在实际工作中使用书中的技术,效果更佳。
作译者
作为Debian工作组成员,John为系统维护了很多不同的程序。从1998年开始,他就致力于启动或向新的体系结构扩展Debian,并在Alpha、PowerPC、AMD64和NetBSD i386上取得了很大的成就。
2003年,John被选进了Software in the Public Interest(SPI)的董事会。这个公司负责管理Debian在法律和财务上的事务。同年晚些时候,他被任命为SPI的副会长。
除作为Debian工作组成员之外,John还用了大量的时间写软件。在他众所周知的作品中,有两个是用Python写的网络激活程序。OfflineIMAP是一个双向的邮件同步程序,而PyGoDherd是一个多协议的Web和Gopher服务器。这两个软件都用Python独有的特性来支持模块体系结构,并且提供了很好的灵活性。
John还写了很多书,包括那本800页的《Linux Programming Bible》。他还经常为杂志撰写文章,同时还是很多书的技术编辑。他还建立了Air Capital Linux用户组,并经常在组里演讲。
目录
关于技术审校
致谢
简介
第1部分 底层网络
第1章 客户/服务器网络介绍
第2章 网络客户端
第3章 网络服务器
第4章 域名系统
第5章 域名系统
第2部分 Web Service
第6章 Web客户端访问
第7章 解析HTML和XHTML
第8章 XML和XML-RPC
第3部分 E-mail服务
第9章 E-mail的编写和编码
第10章 简单邮件传输协议(SMTP)
第11章 POP
第12章 IMAP
第4部分 多用途的客户端协议
译者序
本书的编排非常清晰,几乎涵盖了网络编程的所有方面。从传统的FTP、Email到较新的XML、Web Service以及到当前流行的多线程和异步通信,本书都有详细的介绍。本书还给出了大量直接(或稍许修改后)可以使用的例子。如果在学习和工作中灵活应用这些例子,一定会获到事半功倍的效果。
个人感觉学习一门计算机语言的一种最有效的方法就是真正使用它,本书也不例外。所以我建议读者通读完本书后,记住书中大致的内容,在实际编程中,能够迅速找到书中相关的部分,得到帮助。
一本书的翻译出版不是一个人的事情,这里首先要感谢原书作者John Goerzen,没有他就不会有这本书。随着翻译的进行,越来越能感觉到他是一位Python和软件工程方面的大师。然后要感谢的是彭俊先生,他总是仔细而耐心地和译者探讨翻译中不合适的地方。互相探讨本身也是一个提高自己的过程。还要感谢周筠女士、杨福川先生等博文视点的工作人员,是他们严谨、专业的工作才能使这本书顺利出版。还有limodou先生,在译者学习Python的过程中给予了很多帮助。最后还要感谢我的家人以及我的妻子Kitty、我的儿子非非,没有他们的鼓励和支持,这本书不会这么快和中国的读者见面。..
由于译者自身的水平有限以及时间的仓促,翻译中难免有错误和遗漏,有些专业和习惯用语直接使用了原文,而有些句子的翻译可能无法完全符合中文的习惯,还请读者以及原书作者原谅。读者能够从本书中得到帮助,将是译者最开心的事情。
关于本书中的代码注释,编辑建议我也翻译成中文,以方便读者理解。经过再三考虑,我还是决定保持原样。原因如下:
每个例子,书中都有详细的讲解。注释只是起到一个参考作用;
学习一种语言,阅读别人的程序是一个非常好的方法,我们力争为读者展现作者原汁原味的代码(包括注释)。请读者不要小看注释,作为一个软件从业人员,我一直鼓励周围的开发人员多写注释,而且要多用英文写注释。计算机语言基本上都是英文的,练习用英文写注释一方面可以提高自己的英文水平,另一方面还可以渐渐和世界接轨,将来很有可能有外国同事阅读您的代码;
Python本身是一种跨平台语言。如果用中文写注释,将来移植的时候也许会出现问题;而当读者按照书中的英文代码和中文注释来试验这些例子的时候,可能会由于运行环境的不同而产生错误。 ... 莫 迟
2007年3月
前言
而今天,收到来自韩国的Email,查看加利福尼亚的天气,以及阅读德国当天的头条新闻对我们来说都是很平常的事情,而且都可以在五分钟之内完成。压缩文件并在互联网上传输使得我们可以做很多事情,从管理投资账户到观看远房亲戚的照片。
尽管Internet已经有25年的历史了,但是它还是处在幼年阶段。作为一种新技术,它还在逐渐成长。
我写这本书的原因是因为Internet是那么的让人兴奋。在过去的几年中,我们看到了整个行业的增长,而这些是以前没有的。同时互联网也是产生大量发明家的地方。
而且这也是我希望您从本书获得的。我希望这本书能成为您的实验手册――即您为了使Internet更美好而进行发明创造的指南。
本书的结构
本书共分五个部分。第一部分介绍了Internet是如何工作的。您将学习Internet通讯的基础。通过例子您还将学习到编写您自己的程序要用到的一些基本工具。
第二部分主要讲基于Web的服务方面的知识。第三部分主要讲和Email服务有关的知识。在Web或Email通讯中使用了很多新的技术。在这两部分内容中,介绍了如何使用这些新技术来编写程序。
第四部分介绍了其它一些技术,例如:数据库和文件传输。它们经常运行在网络程序的后台。您的用户也许永远都不知道您使用了这些技术,但是它们的确是您工具箱中重要的工具。
第五部分介绍了如何编写服务器程序,这些应用程序可以回应请求并给出信息。您也许永远不用写一个服务器程序,但是如果您正为一个新的协议打草稿的话,您将需要这些技术。
最后,第六部分向您展示了如何同时做多件事情。有些网络程序员也许永远都不会用到这些技术。但是对于一些服务器的设计者来说,没有这些技术是万万不行的。
假定
对于本书的读者,我假定您已经具有一定的Python知识。如果您没有,我建议您学习Apress出版的,由Magnus Lie Hetland编著的《Practical Python》。
我还假定您的机器上安装了Python 2.3或更高的版本,并且具有网络编程的部分。如果您的机器上没有安装Python,请检查您的操作系统以及它的安装包,因为有的操作系统本身就带有Python。否则您可以从www.python.org下载Python的源文件和安装程序。
最后,我还假定您的机器是和互联网相连的(尽管这个连接或许不是您自己配置的)。此外,阅读本书,您不需具备任何互联网协议的知识。
例子..
本书包含很多例子。您可以从Apress的站点www.apress.com下载。我建议您试着运行所有的例子。其中有些例子完全可以作为您自己程序的起点。而绝大多数的例子都是完整的,可以直接运行的程序。您可以自己查看运行的结果。
我还会经常向您演示一些程序的交互运行结果。当看到这样例子的时候,黑体字表示需要通过键盘输入的内容。当看到计算机命令的时候,“$”表示操作系统的命令提示符。
网络程序对操作系统的网络支持情况是非常依赖的。操作系统提供了和其它计算机通信的所有基础。这里有一些针对不同操作系统的注释。
技巧:如果您在运行例子的时候遇到任何问题,请翻阅本章中的这些注释。有些例子并不是能在所有的操作系统上运行的。
作者其它作品
Linux编程宝典
- ¥79.00
- ¥59.25