产品特色
编辑推荐
Python是门很棒的编程语言,适合快速构建应用原型。《图灵程序设计丛书:Python网络编程攻略》全面介绍了Python网络编程涉及的重要问题,包括网络编程、系统和网络管理、网络监控以及Web应用开发。作者通过70多篇攻略,清晰简明地描述了各种网络任务和问题,提出了可用于多种场景的解决方案,并细致地分析了整个操作过程。无需多少Python基础知识,就可以轻松理解这些示例。如果你想开发依赖于网络协议的实用Web应用和网络应用,不能错过这本书。 《图灵程序设计丛书:Python网络编程攻略》将告诉你如何开发TCP/IP网络客户端和服务器应用 管理本地设备的IPv4/IPv6网络接口 使用HTTP和HTTPS协议编写用途多、效率高的Web客户端 编写可使用常见电子邮件协议的电子邮件客户端 通过Telnet和SSH连接执行远程系统管理任务 使用Web服务与流行的网站交互 监控并分析重要的常见网络安全漏洞
内容简介
《图灵程序设计丛书:Python网络编程攻略》介绍了现实世界中几乎所有网络任务的真实示例,通过简明易懂的形式让读者掌握如何使用Python完成这些网络编程任务。具体说来,书中通过70多篇攻略讨论了Python网络编程的高阶话题,包括编写简单的网络客户端和服务器、HTTP协议网络编程、跨设备编程、屏幕抓取以及网络安全监控,等等。本书可以作为任何一门网络编程课程中培养实践技能的补充材料。《图灵程序设计丛书:Python网络编程攻略》需要读者对Python语言及TCP/IP等基本的网络概念有了解,但即使不精通也能通过本书理解相关概念。
《图灵程序设计丛书:Python网络编程攻略》适合网络程序员、系统/网络管理员及Web应用程序开发人员阅读。
作者简介
M. O. Faruque Sarker博士,是软件架构师,开发运维工程师,近几年主持开发了很多Python软件项目。他是多种开源技术方面的专家,对于在线学习平台、Web应用平台、敏捷软件开发等技术有深入的研究。从1999年开始,他一直在部署Linux和开源软件。他应邀参与了2009年和2010年的谷歌编程之夏,为开源项目BlueZ和Tahoe-LAFS做出了贡献。目前他在英国伦敦大学学院工作,研究方向是自组织云架构。
内页插图
精彩书评
“对于想要深入学习Python、探索Python多用途的程序员来说,这本书是必读的。然而,在阅读之前,我想先警告你:书中某些内容会让你上瘾,无法自拔!”
——亚马逊读者评论
“想掌握Python网络编程?这本书非常有趣,你可以随意挑选任一攻略进行阅读。”
——亚马逊读者评论
目录
第1章 套接字、IPv4和简单的客户端/服务器编程1.1 简介1.2 打印设备名和IPv4地址1.3 获取远程设备的IP地址1.4 将IPv4地址转换成不同的格式1.5 通过指定的端口和协议找到服务名1.6 主机字节序和网络字节序之间相互转换1.7 设定并获取默认的套接字超时时间1.8 优雅地处理套接字错误1.9 修改套接字发送和接收的缓冲区大小1.10 把套接字改成阻塞或非阻塞模式1.11 重用套接字地址1.12 从网络时间服务器获取并打印当前时间1.13 编写一个SNTP客户端1.14 编写一个简单的回显客户端/服务器应用
第2章 使用多路复用套接字I/O提升性能2.1 简介2.2 在套接字服务器程序中使用ForkingMixIn2.3 在套接字服务器程序中使用ThreadingMixIn2.4 使用select.select编写一个聊天室服务器2.5 使用select.epoll多路复用Web服务器2.6 使用并发库Diesel多路复用回显服务器
第3章 IPv6、Unix域套接字和网络接口3.1 简介3.2 把本地端口转发到远程主机3.3 通过ICMP查验网络中的主机3.4 等待远程网络服务上线3.5 枚举设备中的接口3.6 找出设备中某个接口的IP地址3.7 探测设备中的接口是否开启3.8 检测网络中未开启的设备3.9 使用相连的套接字执行基本的进程间通信3.10 使用Unix域套接字执行进程间通信3.11 确认你使用的Python是否支持IPv6套接字3.12 从IPv6地址中提取IPv6前缀3.13 编写一个IPv6回显客户端/服务器
第4章 HTTP协议网络编程4.1 简介4.2 从HTTP服务器下载数据4.3 在你的设备中伺服HTTP请求4.4 访问网站后提取cookie信息4.5 提交网页表单4.6 通过代理服务器发送Web请求4.7 使用HEAD请求检查网页是否存在4.8 把客户端伪装成Mozilla Firefox4.9 使用HTTP压缩节省Web请求消耗的带宽4.10 编写一个支持断点续传功能的HTTP容错客户端4.11 使用Python和OpenSSL编写一个简单的HTTPS服务器
第5章 电子邮件协议、FTP和CGI编程5.1 简介5.2 列出FTP远程服务器中的文件5.3 把本地文件上传到远程FTP服务器中5.4 把当前工作目录中的内容压缩成ZIP文件后通过电子邮件发送5.5 通过POP3协议下载谷歌电子邮件5.6 通过IMAP协议查收远程服务器中的电子邮件5.7 通过Gmail的SMTP服务器发送带有附件的电子邮件5.8 使用CGI为基于Python的Web服务器编写一个留言板
第6章 屏幕抓取和其他实用程序6.1 简介6.2 使用谷歌地图API搜索公司地址6.3 使用谷歌地图URL搜索地理坐标6.4 搜索维基百科中的文章6.5 使用谷歌搜索股价6.6 搜索GitHub中的源代码仓库6.7 读取BBC的新闻订阅源6.8 爬取网页中的链接
第7章 跨设备编程7.1 简介7.2 使用telnet在远程主机中执行shell命令7.3 通过SFTP把文件复制到远程设备中7.4 打印远程设备的CPU信息7.5 在远程主机中安装Python包7.6 在远程主机中运行MySQL命令7.7 通过SSH把文件传输到远程设备中7.8 远程配置Apache运行网站
第8章 使用Web服务:XML-RPC、SOAP和REST8.1 简介8.2 查询本地XML-RPC服务器8.3 编写一个多线程、多调用XML-RPC服务器8.4 运行一个支持HTTP基本认证的XML-RPC服务器8.5 使用REST从Flickr中收集一些照片信息8.6 找出亚马逊S3 Web服务支持的SOAP方法8.7 使用谷歌搜索定制信息8.8 通过商品搜索API在亚马逊中搜索图书
第9章 网络监控和安全性9.1 简介9.2 嗅探网络数据包9.3 使用pcap转储器把数据包保存为pcap格式9.4 在HTTP数据包中添加额外的首部9.5 扫描远程主机的端口9.6 自定义数据包的IP地址9.7 读取保存的pcap文件以重放流量9.8 扫描数据包的广播
前言/序言
很高兴看到本书出版了,我要感谢所有为本书的出版做出贡献的人。本书是Python网络编程方面的探索性指南,涉及了很多网络协议,例如TCP/UDP、HTTP/HTTPS、FTP、SMTP、POP3、IMAP、CGI等。Python功能强大且具交互性,用它来开发解决实际问题的脚本是一种享受,比如处理网络和系统管理操作、开发Web应用、与本地和远程网络交互、捕获并分析低层网络数据包,等等。本书的主要目的是教你动手完成这些任务,因此不会涉及太多理论,而是注重实践。
写作本书的过程中我一直记着要遵守“开发运维”的理念,开发者或多或少都要负责一些运维,即部署应用程序以及管理它的方方面面,例如管理远程服务器、监控、扩放以及性能优化等。书中用到了很多第三方开源Python库,有效解决了多种不同的问题。其中很多库我每天都用,通过它们自动化运行开发和运维任务简直是一种享受。例如,我使用Fabric自动完成软件开发过程中的任务。其他库也各有各的用处,例如搜索互联网、屏幕抓取、在Python脚本中发送电子邮件。
希望你能从本书的攻略中受益,并根据需求扩展它们,让其功能更强大,用起来更得心应手。
本书内容
第1章“套接字、IPv4和简单的客户端/服务器编程”通过多个小型任务讲解Python的核心网络库,教你开发一个客户端/服务器程序。
第2章“使用多路复用套接字I/O提升性能”讨论很多使用内置库和第三方库扩放客户端/服务器程序的实用技术。
第3章“IPv6、Unix域套接字和网络接口”主要关注本地设备的管理和本地网络的维护。
第4章“HTTP协议网络编程”开发一个多功能迷你命令行浏览器,可以提交表单、处理cookie、管理分段下载、压缩数据,还能通过HTTPS交付安全内容。
第5章“电子邮件协议、FTP和CGI编程”带你一起体验自动处理FTP和电子邮件相关任务的乐趣,例如管理Gmail账户、使用脚本收发邮件,还要为Web应用开发一个留言板。
第6章“屏幕抓取和其他实用程序”介绍如何使用多个第三方Python库实现一些实际的任务,例如在谷歌地图上找到公司的位置、从维基百科中抓取信息、在GitHub中搜索代码仓库,以及从BBC读取新闻。
第7章“跨设备编程”带你体验如何使用SSH自动执行系统管理和部署任务。使用SSH,在你的笔记本电脑上就可以远程执行命令、安装包,或者架设新网站。
第8章“使用Web服务:XML-RPC、SOAP和REST”介绍不同的API协议,例如XML-RPC、SOAP和REST。使用这些协议可以通过编程的方式从任何网站或Web服务中读取信息,或者与之交互。例如,可以在亚马逊或谷歌中搜索商品。
第9章“网络监控和安全性”介绍捕获、存储、分析和处理网络数据包的多种技术。了解这些技术之后,你就能使用简洁的Python脚本分析并解决网络安全问题。
阅读本书前的准备工作
你要有一个可以使用的个人电脑或者笔记本电脑,最好安装了某种现代Linux操作系统,例如 Ubuntu、Debian或CentOS等。书中大部分攻略也能在其他平台上运行,例如Windows和Mac OS。
你还需要连接互联网,以便安装攻略中提到的第三方软件库。如果不方便上网,可以下载所有第三方库,一次性安装好。
图灵程序设计丛书:Python网络编程攻略 [Python Network Programming Cookbook] epub pdf mobi txt 电子书 下载 2024
图灵程序设计丛书:Python网络编程攻略 [Python Network Programming Cookbook] 下载 epub mobi pdf txt 电子书 2024
图灵程序设计丛书:Python网络编程攻略 [Python Network Programming Cookbook] mobi pdf epub txt 电子书 下载 2024
图灵程序设计丛书:Python网络编程攻略 [Python Network Programming Cookbook] epub pdf mobi txt 电子书 下载 2024