内容简介
《Python网络编程基础》全面介绍了使用Python语言进行网络编程的基础知识,主要内容包括网络基础知识、网络操作、Web Services、解析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行独立的、现成的代码的学习,您将能够立刻把您学到的知识应用到 实践中去。
目录
目录
Contents
第1章 客户/服务器网络介绍 3
理解TCP基础 3
寻址 4
可靠性 4
路由 5
安全 6
使用客户/服务器模式 6
服务器端端口号 7
客户端端口号 7
理解UDP 7
理解物理传输和以太网 9
Python网络编程 9
底层接口 10
基本客户端操作 10
错误和异常 11
文件类对象 12
基本服务器操作 13
接口 15
总结 17
第2章 网络客户端 19
理解Sockets 19
建立Sockets 20
寻找端口号 21
从Socekt获取信息 22
利用Sockets通信 23
处理错误 23
Socket异常 24
遗漏的错误 26
文件类对象引起的错误 29
使用UDP 31
总结 34
第3章 网络服务器 35
准备连接 35
建立Socket对象 36
设置和得到Socket选项 36
绑定Socket 39
侦听连接 39
接受连接 40
处理错误 41
使用UDP 43
使用inetd或xinetd 45
配置inetd 47
配置xinetd 48
运行例子 50
通过inetd使用Socket对象 51
通过inetd使用UDP 51
和inetd相关的错误处理 54
什么时候不应该使用inetd 55
通过syslog来记录日志 55
在Python中使用syslog 56
避免死锁 60
总结 63
第4章 域名系统 65
进行DNS查询 65
使用操作系统查询服务 66
执行基本查询 66
执行反向查询 70
反向查找基础 71
对于反向查找数据真实性的检查 72
获得环境信息 74
使用PyDNS进行查询 76
DNS Records 76
安装PyDNS 77
简单PyDNS查询 77
查询特殊的名称服务器 79
分解查询结果 82
总结 85
第5章 网络操作 87
半开放Sockets 87
超时 89
传输字符串 90
字符串结束标识符 91
转义符(Escaping) 91
数据编码 92
可调整的字符串结束标识符 92
部的大小指示器 92
理解网络字节顺序 93
使用广播数据 95
使用IPv6 97
解析地址 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和XHTML 127
理解基本的HTML解析 128
处理真实的HTML 130
翻译实体 130
转换字符参考 132
处理不均衡的标签 133
一个实际可以工作的例子 137
总结 143
第8章 XML和XML-RPC 145
理解XML文档 147
使用DOM 148
使用DOM解析 151
使用DOM产生文档 154
DOM类型参考 157
使用XML-RPC 159
XML-RPC自省 160
一个具有完整功能的例子 162
XML-RPC错误处理 165
XML-RPC类型处理 165
总结 166
第9章 E-Mail的编写和编码 169
E-Mail Composition and Decoding 169
理解传统信息 169
处理Header 170
Headers不会说明您的邮件 171
含有的Bcc的Headers 171
邮件列表中的Headers 172
垃圾中的Headers 172
规则








