Python网络编程基础
正版现货,品相完整,套书只发一本,多版面书籍只对书名
¥
23.29
3.4折
¥
68
九品
仅1件
作者[美]高森(John Goerzen) 著;莫迟 译
出版社电子工业出版社
出版时间2007-06
版次1
装帧平装
上书时间2024-08-16
商品详情
- 品相描述:九品
图书标准信息
-
作者
[美]高森(John Goerzen) 著;莫迟 译
-
出版社
电子工业出版社
-
出版时间
2007-06
-
版次
1
-
ISBN
9787121044953
-
定价
68.00元
-
装帧
平装
-
开本
其他
-
纸张
胶版纸
-
页数
512页
-
字数
700千字
- 【内容简介】
-
《Python网络编程基础》全面介绍了使用Python语言进行网络编程的基础知识,主要内容包括网络基础知识、高级网络操作、WebServices、解析HTML和XHTML、XML、E-mail服务、FTP、使用Python操作数据库、SSL、几种服务器端框架(包括Socket服务器、SimpleXMLRPCServer、CGI和mod_python),以及多任务处理(包括Forking、线程和异步通信)等。本书实用性强,共提供了大约175个实例,6600行以上的代码,是帮助读者全面而快速地学习Python语言、编写网络程序的最佳实践。本书可以作为各层次Python、Web和网络程序的开发人员的参考书,在实际工作中使用书中的技术,效果更佳。
本书第1部分讨论了客户端和服务器的设计,这是所有网络应用程序的基础。您将学到如何利用IPv6的优点来编写应用程序,如何与域名服务器通信,以及如何获取网页等。
本书第2部分将向您演示如何编写发送和接收E—mail的程序、提供静态和动态网页的程序、传输文件以及其他网络程序。您将学到如何使用Apach1e的mod_python模块来建立基于Web的Python应用程序。
本书最后一部分侧重于Python网络编程高级应用方面的知识,讲解了如何使用多任务处理和无阻塞的I/O来编写可以同时处理上千个客户端的服务器程 序。在这个过程中,您将学到编写很多成功网络程序的奥秘。最重要的是,通过对超过6600行独立的、现成的代码的学习,您将能够立刻把您学到的知识应用到 实践中去。
- 【作者简介】
-
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是一个多协议的Web和Gopher服务器。这两个软件都用Python独有的特性来支持模块体系结构,并且提供了很好的灵活性。
John还写了很多书,包括那本800页的《LinuxProgrammingBible》。他还经常为杂志撰写文章,同时还是很多书的技术编辑。他还建立了AirCapitalLinux用户组,并经常在组里演讲。
- 【目录】
-
目录
Contents
第1章客户/服务器网络介绍3
理解TCP基础3
寻址4
可靠性4
路由5
安全6
使用客户/服务器模式6
服务器端端口号7
客户端端口号7
理解UDP7
理解物理传输和以太网9
Python网络编程9
底层接口10
基本客户端操作10
错误和异常11
文件类对象12
基本服务器操作13
高级接口15
总结17
第2章网络客户端19
理解Sockets19
建立Sockets20
寻找端口号21
从Socekt获取信息22
利用Sockets通信23
处理错误23
Socket异常24
遗漏的错误26
文件类对象引起的错误29
使用UDP31
总结34
第3章网络服务器35
准备连接35
建立Socket对象36
设置和得到Socket选项36
绑定Socket39
侦听连接39
接受连接40
处理错误41
使用UDP43
使用inetd或xinetd45
配置inetd47
配置xinetd48
运行例子50
通过inetd使用Socket对象51
通过inetd使用UDP51
和inetd相关的错误处理54
什么时候不应该使用inetd55
通过syslog来记录日志55
在Python中使用syslog56
避免死锁60
总结63
第4章域名系统65
进行DNS查询65
使用操作系统查询服务66
执行基本查询66
执行反向查询70
反向查找基础71
对于反向查找数据真实性的检查72
获得环境信息74
使用PyDNS进行高级查询76
DNSRecords76
安装PyDNS77
简单PyDNS查询77
查询特殊的名称服务器79
分解查询结果82
总结85
第5章高级网络操作87
半开放Sockets87
超时89
传输字符串90
唯一字符串结束标识符91
转义符(Escaping)91
数据编码92
可调整的字符串结束标识符92
首部的大小指示器92
理解网络字节顺序93
使用广播数据95
使用IPv697
解析地址98
处理Family参数100
绑定到特殊的地址102
使用poll()或select()实现事件通知104
使用select()107
总结109
第6章Web客户端访问113
获取Web页面114
认证115
提交表单数据118
用GET方法提交118
用POST方法提交120
处理错误121
捕获连接错误121
捕获数据错误123
使用非HTTP协议125
总结125
第7章解析HTML和XHTML127
理解基本的HTML解析128
处理真实的HTML130
翻译实体130
转换字符参考132
处理不均衡的标签133
一个实际可以工作的例子137
总结143
第8章XML和XML-RPC145
理解XML文档147
使用DOM148
使用DOM完全解析151
使用DOM产生文档154
DOM类型参考157
使用XML-RPC159
XML-RPC自省160
一个具有完整功能的例子162
XML-RPC错误处理165
XML-RPC类型处理165
总结166
第9章E-Mail的编写和编码169
E-MailCompositionandDecoding169
理解传统信息169
处理Header170
Headers不会说明您的邮件171
含有的Bcc的Headers171
邮件列表中的Headers172
垃圾中的Headers172
规则的例外情况172
显示Headers中的信息173
撰写传统的邮件173
添加Date和Message-IDHeaders174
解析传统邮件176
基本邮件解析177
解析日期178
理解MIME180
MIME概念180
MIME是如何工作的181
添加MIME附件182
编写MIME替换方法185
构建非英语的Header187
组成嵌套的多部分188
解析MIME邮件190
解码部分192
解码Headers193
总结195
第10章简单邮件传输协议(SMTP)197
SimpleMessageTransportProtocol197
SMTP库简介197
错误处理和会话调试199
从EHLO中得到信息202
使用安全Sockets层(SecureSocketsLayer,SSL)和安全传输层(TransportLayerSecurity,TLS)205
认证208
SMTP技巧209
总结210
第11章POP211
连接和认证212
取得邮箱信息215
下载邮件216
删除邮件218
总结221
第12章IMAP223
理解Python中的IMAP224
Twisted中的IMAP简介225
理解Twisted基础226
登录228
错误处理231
扫描文件夹列表236
检查文件夹239
MessageNumbers和.UIDs239
邮件范围240
总结信息240
基本下载243
使用一个命令下载整个一个邮箱243
下载单独邮件245
标记和删除邮件249
读取标志250
设置标志252
删除邮件252
取得邮件的部分内容255
找出邮件结构256
得到指定的部分260
查找邮件262
构造查询263
执行查询265
添加邮件268
建立和删除文件夹270
在文件夹之间移动邮件270
总结271
第13章FTP275
理解FTP275
通信信道276
认证和匿名FTP276
用Python实现FTP功能277
以ASCII模式下载文件278
以二进制模式下载文件279
以高级二进制模式下载文件279
上传数据281
以高级二进制模式上传282
处理错误283
扫描目录284
解析UNIX目录列表286
不用解析列表而得到信息288
递归下载290
操纵服务器上的文件和目录293
删除文件和目录293
建立目录294
移动和重命名文件294
总结294
第14章数据库客户端295
SQL和网络295
Python中的SQL296
连接297
PostgreSQL298
MySQL299
JythonzxJDBC299
执行命令301
事务302
事件执行的性能303
在结束前隐藏改变303
重复指令305
参数风格305
使用executemany()307
处理那些不适合executemany()的情况308
得到数据310
使用fetchall()310
使用fetchmany()311
使用fetchone()312
阅读Metadata313
计算行数314
以Dictionaries形式得到数据315
使用数据类型317
得到指定类型的数据319
总结319
第15章SSL321
理解网络弱点322
嗅探攻击(Sniffing)322
插入攻击323
删除攻击323
重复攻击323
截获Session323
伪装服务器(信息转向)324
妥协的服务器324
人体工程学324
使用SSL降低攻击324
认证远程机器325
理解Python中的SSL326
使用内置的SSL326
使用OpenSSL330
使用OpenSSL验证服务器证书331
取得根认证授权证书332
验证证书332
总结338
第16章SocketServer341
使用BaseHTTPServer341
处理对于特殊文档的请求343
同时处理多个请求346
SimpleHTTPServer348
CGIHTTPServer349
实现新协议350
取得关于客户端的信息352
IPv6352
总结353
第17章SimpleXMLRPCServer355
SimpleXMLRPCServer基础356
测试您的服务器358
提供函数359
使用类的特性361
使用DocXMLRPCServer364
使用CGIXMLRPCRequestHandler365
支持Multicall函数367
总结367
第18章CGI369
设置CGI370
理解CGI370
理解使用Python编写CGI371
取得环境信息373
取得输入375
额外的URL成分375
GET方法378
POST方法380
转义特殊字符383
处理一个字段的多个输入385
上传文件386
使用Cookies388
Cookies的结构389
使用Cookies390
总结392
第19章mod_python393
理解为什么需要mod_python393
安装和配置mod_python394
载入模块395
配置Apache目录396
修复配置问题398
理解mod_python基础399
PythonHandler的角色400
处理程序返回值401
分派请求402
处理输入405
附加的URL部分405
GET方法407
POST方法410
转义(Escaping)412
理解解释器实例413
在mod_python中预建立处理程序415
总结415
第20章Forking419
理解进程419
理解fork()421
重复的文件描述符422
Zombie进程423
性能424
Forking的第一步424
Zombie程序425
使用信号解决Zombie问题426
使用轮询(Polling)来解决Zombie问题428
Forking服务器430
锁定433
错误处理438
总结441
第21章线程443
在Python中使用线程444
使用共享变量446
安全线程447
设法访问共享的且缺乏的资源450
避免死锁453
编写含有线程的服务器455
练习:使用线程的聊天服务器457
使用线程池457
编写含有线程的客户端463
总结467
第22章网络客户端469
决定是否使用异步I/O470
使用异步通信471
高级的服务器端使用476
监控多个mastersocket480
在服务器上使用Twisted485
总结489
索引
点击展开
点击收起
— 没有更多了 —
以下为对购买帮助不大的评价