Python网络编程(第3版)

Python网络编程(第3版)
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] (Brandon Rhodes) ,
2016-09
版次: 3
ISBN: 9787115433503
定价: 79.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 345页
正文语种: 简体中文
原版书名: Foundations of Python Network Programming
  •   本书针对想要深入理解使用Python来解决网络相关问题或是构建网络应用程序的技术人员,结合实例讲解了网络协议、网络数据及错误、电子邮件、服务器架构和HTTP及Web应用程序等经典话题。具体内容包括:全面介绍Python3中新提供的SSL支持,异步I/O循环的编写,用Flask框架在Python代码中配置URL,跨站脚本以及跨站请求伪造攻击网站的原理及保护方法,等等。
      Brandon Rhodes,Dropbox工程师,早期使用Python的程序员之一,热心于传播Python,经常在各类Python主题大会上演讲。

      John Goerzen,eFolder公司IT与工程部副总裁,同时也是具有影响力的作家、系统管理者和Python程序员,自1996年起就是Debian GNU/Linux操作系统开发组的成员,拥有近20年的软件开发经验。
    第 1 章 客户端/服务器网络编程简介 1
    1.1 基础:协议栈与库 1
    1.2 应用层 4
    1.3 协议的使用 5
    1.4 一个原始的网络会话 6
    1.5 层层深入 8
    1.6 编码与解码 9
    1.7 网际协议 10
    1.8 IP 地址 11
    1.9 路由 12
    1.10 数据包分组 13
    1.11 进一步学习 IP 14
    1.12 小结 15
    第 2 章 UDP 16
    2.1 端口号 17
    2.2 套接字 18
    2.2.1 混杂客户端与垃圾回复 22
    2.2.2 不可靠性、退避、阻塞和超时 23
    2.2.3 连接 UDP 套接字 27
    2.2.4 请求 ID:好主意 28
    2.3 绑定接口 29
    2.4 UDP 分组 31
    2.5 套接字选项 33
    2.6 广播 33
    2.7 小结 35
    第 3 章 TCP 37
    3.1 TCP 工作原理 37
    3.2 何时使用 TCP 38
    3.3 TCP 套接字的含义 39
    3.4 一个简单的 TCP 客户端和服务器 40
    3.4.1 每个会话使用一个套接字 43
    3.4.2 地址已被占用 44
    3.5 绑定接口 46
    3.6 死锁 46
    3.7 已关闭连接,半开连接 51
    3.8 像使用文件一样使用 TCP 流 52
    3.9 小结 53
    第 4 章 套接字名与 DNS 54
    4.1 主机名与套接字 54
    4.1.1 套接字的 5 个坐标 55
    4.1.2 IPv6 56
    4.2 现代地址解析 57
    4.2.1 使用 getaddrinfo() 为服务器
    绑定端口 58
    4.2.2 使用 getaddrinfo() 连接服务 59
    4.2.3 使用 getaddrinfo() 请求规范主机名 60
    4.2.4 其他 getaddrinfo() 标记 61
    4.2.5 原始的名称服务程序 62
    4.2.6 在代码中使用 getsockaddr() 62
    4.3 DNS 协议 64
    4.3.1 为何不使用原始 DNS 66
    4.3.2 使用 Python 进行 DNS 查询 66
    4.3.3 解析邮箱域名 68
    4.4 小结 70
    第 5 章 网络数据与网络错误 71
    5.1 字节与字符串 71
    5.1.1 字符串 72
    5.1.2 二进制数与网络字节顺序 75
    5.2 封帧与引用 77
    5.3 pickle 与自定义定界符的格式 82
    5.4 XML 与 JSON 83
    5.5 压缩 84
    5.6 网络异常 85
    5.6.1 抛出更具体的异常 87
    5.6.2 捕捉与报告网络异常 87
    5.7 小结 88
    第 6 章 TLS/SSL 90
    6.1 TLS 无法保护的信息 90
    6.2 可能出问题的地方 91
    6.3 生成证书 93
    6.4 TLS 负载移除 . 95
    6.5 Python 3.4 默认上下文 96
    6.6 手动选择加密算法与完美前向安全 102
    6.7 支持 TLS 的协议 104
    6.8 了解细节 105
    6.9 小结 111
    第 7 章 服务器架构 112
    7.1 浅谈部署 112
    7.2 一个简单的协议 114
    7.3 单线程服务器 117
    7.4 多线程与多进程服务器 120
    7.5 异步服务器 122
    7.5.1 回调风格的 asyncio 126
    7.5.2 协程风格的 asyncio 127
    7.5.3 遗留模块 asyncore 129
    7.5.4 两全其美的方法 130
    7.6 在 inetd 下运行 131
    7.7 小结 133
    第 8 章 缓存与消息队列 134
    8.1 使用 Memcached 134
    8.2 散列与分区 137
    8.3 消息队列 140
    8.4 小结 145
    第 9 章 HTTP 客户端 147
    9.1 Python 客户端库 147
    9.2 端口、加密与封帧 149
    9.3 方法 151
    9.4 路径与主机 152
    9.5 状态码 152
    9.6 缓存与验证 155
    9.7 传输编码 157
    9.8 内容协商 158
    9.9 内容类型 160
    9.10 HTTP 认证 160
    9.11 cookie 162
    9.12 连接、Keep-Alive 和 httplib 163
    9.13 小结 164
    第 10 章 HTTP 服务器 166
    10.1 WSGI 166
    10.2 异步服务器与框架 168
    10.3 前向代理与反向代理 169
    10.4 4 种架构 170
    10.4.1 在 Apache 下运行 Python 171
    10.4.2 纯粹的 Python HTTP服务器的兴起 172
    10.4.3 反向代理的优势 172
    10.5 平台即服务 173
    10.6 GET 与 POST 模式和 REST 的问题 174
    10.7 不使用 Web 框架编写 WSGI 可调用对象 176
    10.8 小结 180
    第 11 章 万维网 181
    11.1 超媒体与 URL 181
    11.1.1 解析与构造 URL 182
    11.1.2 相对 URL 184
    11.2 超文本标记语言 186
    11.3 读写数据库 189
    11.4 一个糟糕的 Web 应用程序(使用 Flask) 190
    11.5 表单和 HTTP 方法 195
    11.5.1 表单使用了错误方法的情况 197
    11.5.2 安全的 cookie 与不安全的 cookie 198
    11.5.3 非持久型跨站脚本 200
    11.5.4 持久型跨站脚本 201
    11.5.5 跨站请求伪造 202
    11.5.6 改进的应用程序 203
    11.6 使用 Django 编写的账单应用程序 205
    11.7 选择 Web 框架 209
    11.8 WebSocket 210
    11.9 网络抓取 211
    11.9.1 获取页面 212
    11.9.2 抓取页面 215
    11.9.3 递归抓取 217
    11.10 小结 221
    第 12 章 电子邮件的构造与解析 222
    12.1 电子邮件消息格式 222
    12.2 构造电子邮件消息 224
    12.3 添加 HTML 与多媒体 226
    12.4 添加内容 231
    12.5 解析电子邮件消息 232
    12.6 遍历 MIME 部件 234
    12.7 邮件头编码 236
    12.8 解析日期 237
    12.9 小结 238
    第 13 章 SMTP 239
    13.1 电子邮件客户端与 Web 邮件服务 239
    13.1.1 最开始使用命令行发送电子邮件 239
    13.1.2 客户端的兴起 240
    13.1.3 转移到 Web 邮件 241
    13.2 SMTP 的使用方法 243
    13.2.1 发送电子邮件 244
    13.2.2 邮件头与信封接收者 245
    13.2.3 多跳 246
    13.3 SMTP 库简介 247
    13.4 错误处理与会话调试 248
    13.5 从 EHLO 获取信息 251
    13.6 使用安全套接层和传输层安全协议 253
    13.7 认证的 SMTP 255
    13.8 关于 SMTP 的小贴士 257
    13.9 小结 257
    第 14 章 POP 258
    14.1 POP 服务器的兼容性 258
    14.2 连接与认证 259
    14.3 获取邮箱信息 261
    14.4 消息的下载与删除 263
    14.5 小结 265
    第 15 章 IMAP 266
    15.1 在 Python 中使用 IMAP 267
    15.1.1 IMAPClient 269
    15.1.2 查看文件夹 271
    15.1.3 消息号与 UID 272
    15.1.4 消息范围 272
    15.1.5 摘要信息 272
    15.1.6 下载整个邮箱 274
    15.1.7 单独下载消息 276
    15.1.8 标记并删除消息 281
    15.1.9 删除消息 282
    15.1.10 搜索 282
    15.1.11 操作文件夹与消息 284
    15.1.12 异步性 285
    15.2 小结 285
    第 16 章 Telnet 和 SSH 286
    16.1 命令行自动化 286
    16.1.1 命令行扩展与引用 287
    16.1.2 UNIX 命令行参数几乎可以包含任意字符 288
    16.1.3 对字符进行引用 290
    16.1.4 糟糕的 Windows 命令行 291
    16.1.5 终端的特别之处 292
    16.1.6 终端的缓冲行为 295
    16.2 Telnet 296
    16.3 SSH:安全 shell 300
    16.3.1 SSH 概述 300
    16.3.2 SSH 主机密钥 301
    16.3.3 SSH 认证 303
    16.3.4 shell 会话与独立命令 304
    16.3.5 SFTP:通过 SSH 进行文件传输 308
    16.3.6 其他特性 310
    16.4 小结 311
    第 17 章 FTP 313
    17.1 何时不使用 FTP 313
    17.1.1 通信信道 314
    17.1.2 在 Python 中使用 FTP 315
    17.1.3 ASCII 和二进制文件 316
    17.1.4 二进制下载进阶功能介绍 318
    17.1.5 上传数据 319
    17.1.6 二进制上传进阶功能介绍 320
    17.1.7 错误处理 321
    17.1.8 目录扫描 322
    17.1.9 目录检测以及递归下载 324
    17.1.10 目录的创建以及文件和目录的删除 326
    17.1.11 安全地操作 FTP 326
    17.2 小结 326
    第 18 章 RPC 328
    18.1 RPC 的特性 329
    18.1.1 XML-RPC 330
    18.1.2 JSON-RPC 336
    18.1.3 自文档的数据 339
    18.1.4 关于对象:Pyro 和 RPyC 340
    18.1.5 RPyC 例子 341
    18.1.6 RPC、Web 框架和消息
    队列 343
    18.1.7 从网络错误中恢复 344
    18.2 小结 344
  • 内容简介:
      本书针对想要深入理解使用Python来解决网络相关问题或是构建网络应用程序的技术人员,结合实例讲解了网络协议、网络数据及错误、电子邮件、服务器架构和HTTP及Web应用程序等经典话题。具体内容包括:全面介绍Python3中新提供的SSL支持,异步I/O循环的编写,用Flask框架在Python代码中配置URL,跨站脚本以及跨站请求伪造攻击网站的原理及保护方法,等等。
  • 作者简介:
      Brandon Rhodes,Dropbox工程师,早期使用Python的程序员之一,热心于传播Python,经常在各类Python主题大会上演讲。

      John Goerzen,eFolder公司IT与工程部副总裁,同时也是具有影响力的作家、系统管理者和Python程序员,自1996年起就是Debian GNU/Linux操作系统开发组的成员,拥有近20年的软件开发经验。
  • 目录:
    第 1 章 客户端/服务器网络编程简介 1
    1.1 基础:协议栈与库 1
    1.2 应用层 4
    1.3 协议的使用 5
    1.4 一个原始的网络会话 6
    1.5 层层深入 8
    1.6 编码与解码 9
    1.7 网际协议 10
    1.8 IP 地址 11
    1.9 路由 12
    1.10 数据包分组 13
    1.11 进一步学习 IP 14
    1.12 小结 15
    第 2 章 UDP 16
    2.1 端口号 17
    2.2 套接字 18
    2.2.1 混杂客户端与垃圾回复 22
    2.2.2 不可靠性、退避、阻塞和超时 23
    2.2.3 连接 UDP 套接字 27
    2.2.4 请求 ID:好主意 28
    2.3 绑定接口 29
    2.4 UDP 分组 31
    2.5 套接字选项 33
    2.6 广播 33
    2.7 小结 35
    第 3 章 TCP 37
    3.1 TCP 工作原理 37
    3.2 何时使用 TCP 38
    3.3 TCP 套接字的含义 39
    3.4 一个简单的 TCP 客户端和服务器 40
    3.4.1 每个会话使用一个套接字 43
    3.4.2 地址已被占用 44
    3.5 绑定接口 46
    3.6 死锁 46
    3.7 已关闭连接,半开连接 51
    3.8 像使用文件一样使用 TCP 流 52
    3.9 小结 53
    第 4 章 套接字名与 DNS 54
    4.1 主机名与套接字 54
    4.1.1 套接字的 5 个坐标 55
    4.1.2 IPv6 56
    4.2 现代地址解析 57
    4.2.1 使用 getaddrinfo() 为服务器
    绑定端口 58
    4.2.2 使用 getaddrinfo() 连接服务 59
    4.2.3 使用 getaddrinfo() 请求规范主机名 60
    4.2.4 其他 getaddrinfo() 标记 61
    4.2.5 原始的名称服务程序 62
    4.2.6 在代码中使用 getsockaddr() 62
    4.3 DNS 协议 64
    4.3.1 为何不使用原始 DNS 66
    4.3.2 使用 Python 进行 DNS 查询 66
    4.3.3 解析邮箱域名 68
    4.4 小结 70
    第 5 章 网络数据与网络错误 71
    5.1 字节与字符串 71
    5.1.1 字符串 72
    5.1.2 二进制数与网络字节顺序 75
    5.2 封帧与引用 77
    5.3 pickle 与自定义定界符的格式 82
    5.4 XML 与 JSON 83
    5.5 压缩 84
    5.6 网络异常 85
    5.6.1 抛出更具体的异常 87
    5.6.2 捕捉与报告网络异常 87
    5.7 小结 88
    第 6 章 TLS/SSL 90
    6.1 TLS 无法保护的信息 90
    6.2 可能出问题的地方 91
    6.3 生成证书 93
    6.4 TLS 负载移除 . 95
    6.5 Python 3.4 默认上下文 96
    6.6 手动选择加密算法与完美前向安全 102
    6.7 支持 TLS 的协议 104
    6.8 了解细节 105
    6.9 小结 111
    第 7 章 服务器架构 112
    7.1 浅谈部署 112
    7.2 一个简单的协议 114
    7.3 单线程服务器 117
    7.4 多线程与多进程服务器 120
    7.5 异步服务器 122
    7.5.1 回调风格的 asyncio 126
    7.5.2 协程风格的 asyncio 127
    7.5.3 遗留模块 asyncore 129
    7.5.4 两全其美的方法 130
    7.6 在 inetd 下运行 131
    7.7 小结 133
    第 8 章 缓存与消息队列 134
    8.1 使用 Memcached 134
    8.2 散列与分区 137
    8.3 消息队列 140
    8.4 小结 145
    第 9 章 HTTP 客户端 147
    9.1 Python 客户端库 147
    9.2 端口、加密与封帧 149
    9.3 方法 151
    9.4 路径与主机 152
    9.5 状态码 152
    9.6 缓存与验证 155
    9.7 传输编码 157
    9.8 内容协商 158
    9.9 内容类型 160
    9.10 HTTP 认证 160
    9.11 cookie 162
    9.12 连接、Keep-Alive 和 httplib 163
    9.13 小结 164
    第 10 章 HTTP 服务器 166
    10.1 WSGI 166
    10.2 异步服务器与框架 168
    10.3 前向代理与反向代理 169
    10.4 4 种架构 170
    10.4.1 在 Apache 下运行 Python 171
    10.4.2 纯粹的 Python HTTP服务器的兴起 172
    10.4.3 反向代理的优势 172
    10.5 平台即服务 173
    10.6 GET 与 POST 模式和 REST 的问题 174
    10.7 不使用 Web 框架编写 WSGI 可调用对象 176
    10.8 小结 180
    第 11 章 万维网 181
    11.1 超媒体与 URL 181
    11.1.1 解析与构造 URL 182
    11.1.2 相对 URL 184
    11.2 超文本标记语言 186
    11.3 读写数据库 189
    11.4 一个糟糕的 Web 应用程序(使用 Flask) 190
    11.5 表单和 HTTP 方法 195
    11.5.1 表单使用了错误方法的情况 197
    11.5.2 安全的 cookie 与不安全的 cookie 198
    11.5.3 非持久型跨站脚本 200
    11.5.4 持久型跨站脚本 201
    11.5.5 跨站请求伪造 202
    11.5.6 改进的应用程序 203
    11.6 使用 Django 编写的账单应用程序 205
    11.7 选择 Web 框架 209
    11.8 WebSocket 210
    11.9 网络抓取 211
    11.9.1 获取页面 212
    11.9.2 抓取页面 215
    11.9.3 递归抓取 217
    11.10 小结 221
    第 12 章 电子邮件的构造与解析 222
    12.1 电子邮件消息格式 222
    12.2 构造电子邮件消息 224
    12.3 添加 HTML 与多媒体 226
    12.4 添加内容 231
    12.5 解析电子邮件消息 232
    12.6 遍历 MIME 部件 234
    12.7 邮件头编码 236
    12.8 解析日期 237
    12.9 小结 238
    第 13 章 SMTP 239
    13.1 电子邮件客户端与 Web 邮件服务 239
    13.1.1 最开始使用命令行发送电子邮件 239
    13.1.2 客户端的兴起 240
    13.1.3 转移到 Web 邮件 241
    13.2 SMTP 的使用方法 243
    13.2.1 发送电子邮件 244
    13.2.2 邮件头与信封接收者 245
    13.2.3 多跳 246
    13.3 SMTP 库简介 247
    13.4 错误处理与会话调试 248
    13.5 从 EHLO 获取信息 251
    13.6 使用安全套接层和传输层安全协议 253
    13.7 认证的 SMTP 255
    13.8 关于 SMTP 的小贴士 257
    13.9 小结 257
    第 14 章 POP 258
    14.1 POP 服务器的兼容性 258
    14.2 连接与认证 259
    14.3 获取邮箱信息 261
    14.4 消息的下载与删除 263
    14.5 小结 265
    第 15 章 IMAP 266
    15.1 在 Python 中使用 IMAP 267
    15.1.1 IMAPClient 269
    15.1.2 查看文件夹 271
    15.1.3 消息号与 UID 272
    15.1.4 消息范围 272
    15.1.5 摘要信息 272
    15.1.6 下载整个邮箱 274
    15.1.7 单独下载消息 276
    15.1.8 标记并删除消息 281
    15.1.9 删除消息 282
    15.1.10 搜索 282
    15.1.11 操作文件夹与消息 284
    15.1.12 异步性 285
    15.2 小结 285
    第 16 章 Telnet 和 SSH 286
    16.1 命令行自动化 286
    16.1.1 命令行扩展与引用 287
    16.1.2 UNIX 命令行参数几乎可以包含任意字符 288
    16.1.3 对字符进行引用 290
    16.1.4 糟糕的 Windows 命令行 291
    16.1.5 终端的特别之处 292
    16.1.6 终端的缓冲行为 295
    16.2 Telnet 296
    16.3 SSH:安全 shell 300
    16.3.1 SSH 概述 300
    16.3.2 SSH 主机密钥 301
    16.3.3 SSH 认证 303
    16.3.4 shell 会话与独立命令 304
    16.3.5 SFTP:通过 SSH 进行文件传输 308
    16.3.6 其他特性 310
    16.4 小结 311
    第 17 章 FTP 313
    17.1 何时不使用 FTP 313
    17.1.1 通信信道 314
    17.1.2 在 Python 中使用 FTP 315
    17.1.3 ASCII 和二进制文件 316
    17.1.4 二进制下载进阶功能介绍 318
    17.1.5 上传数据 319
    17.1.6 二进制上传进阶功能介绍 320
    17.1.7 错误处理 321
    17.1.8 目录扫描 322
    17.1.9 目录检测以及递归下载 324
    17.1.10 目录的创建以及文件和目录的删除 326
    17.1.11 安全地操作 FTP 326
    17.2 小结 326
    第 18 章 RPC 328
    18.1 RPC 的特性 329
    18.1.1 XML-RPC 330
    18.1.2 JSON-RPC 336
    18.1.3 自文档的数据 339
    18.1.4 关于对象:Pyro 和 RPyC 340
    18.1.5 RPyC 例子 341
    18.1.6 RPC、Web 框架和消息
    队列 343
    18.1.7 从网络错误中恢复 344
    18.2 小结 344
查看详情
12
您可能感兴趣 / 更多
Python网络编程(第3版)
Python和PySpark数据分析
(加)乔纳森·里乌
Python网络编程(第3版)
Python机器学习入门与实践 从深度学习到生成对抗网络GAN 深入浅出GAN生成对抗网络 实战gan TensorFlow与Keras 人工智能技术书籍
(日)大关真之
Python网络编程(第3版)
Python语言程序设计
王刚
Python网络编程(第3版)
Python代码编程 学科项目式编程(六年级)
冯建刚
Python网络编程(第3版)
Python机器学习 : 核心技术与开发实战 周志华西瓜书机器学习实战伴侣书
[美]普拉提克·乔希 著;李现伟 译者;颉腾文化 出品;阿尔伯托·阿尔塔桑切斯(美);曾小健
Python网络编程(第3版)
Python语言程序设计(微课版)
宁爱军 何志永
Python网络编程(第3版)
Python数据分析从入门到精通(第2版)
明日科技
Python网络编程(第3版)
Python数据分析与挖掘
齐福利
Python网络编程(第3版)
Python基础与应用(互联网+教育新形态一体化系列教材)
李喆时、谢家立、赵丽 编
Python网络编程(第3版)
Python数据分析与可视化项目实战
王振丽
Python网络编程(第3版)
Python爬虫从菜鸟到高手
李宁
Python网络编程(第3版)
Python程序设计基础教程
\"孙海龙 王济军\
系列丛书 / 更多
Python网络编程(第3版)
Python和PySpark数据分析
(加)乔纳森·里乌
Python网络编程(第3版)
Python机器学习入门与实践 从深度学习到生成对抗网络GAN 深入浅出GAN生成对抗网络 实战gan TensorFlow与Keras 人工智能技术书籍
(日)大关真之
Python网络编程(第3版)
Python语言程序设计
王刚
Python网络编程(第3版)
Python代码编程 学科项目式编程(六年级)
冯建刚
Python网络编程(第3版)
Python机器学习 : 核心技术与开发实战 周志华西瓜书机器学习实战伴侣书
[美]普拉提克·乔希 著;李现伟 译者;颉腾文化 出品;阿尔伯托·阿尔塔桑切斯(美);曾小健
Python网络编程(第3版)
Python语言程序设计(微课版)
宁爱军 何志永
Python网络编程(第3版)
Python数据分析从入门到精通(第2版)
明日科技
Python网络编程(第3版)
Python数据分析与挖掘
齐福利
Python网络编程(第3版)
Python基础与应用(互联网+教育新形态一体化系列教材)
李喆时、谢家立、赵丽 编
Python网络编程(第3版)
Python数据分析与可视化项目实战
王振丽
Python网络编程(第3版)
Python爬虫从菜鸟到高手
李宁
Python网络编程(第3版)
Python程序设计基础教程
\"孙海龙 王济军\
相关图书 / 更多
Python网络编程(第3版)
Python和PySpark数据分析
(加)乔纳森·里乌
Python网络编程(第3版)
Python机器学习入门与实践 从深度学习到生成对抗网络GAN 深入浅出GAN生成对抗网络 实战gan TensorFlow与Keras 人工智能技术书籍
(日)大关真之
Python网络编程(第3版)
Python语言程序设计
王刚
Python网络编程(第3版)
Python代码编程 学科项目式编程(六年级)
冯建刚
Python网络编程(第3版)
Python机器学习 : 核心技术与开发实战 周志华西瓜书机器学习实战伴侣书
[美]普拉提克·乔希 著;李现伟 译者;颉腾文化 出品;阿尔伯托·阿尔塔桑切斯(美);曾小健
Python网络编程(第3版)
Python语言程序设计(微课版)
宁爱军 何志永
Python网络编程(第3版)
Python数据分析从入门到精通(第2版)
明日科技
Python网络编程(第3版)
Python数据分析与挖掘
齐福利
Python网络编程(第3版)
Python基础与应用(互联网+教育新形态一体化系列教材)
李喆时、谢家立、赵丽 编
Python网络编程(第3版)
Python数据分析与可视化项目实战
王振丽
Python网络编程(第3版)
Python爬虫从菜鸟到高手
李宁
Python网络编程(第3版)
Python程序设计基础教程
\"孙海龙 王济军\