图灵程序设计丛书:Python网络编程攻略 [Python Network Programming Cookbook]

图灵程序设计丛书:Python网络编程攻略 [Python Network Programming Cookbook] pdf epub mobi txt 电子书 下载 2025

[英] 萨卡尔(Dr.M.O.Faruque Sarker) 著,安道 译
图书标签:
  • Python
  • 网络编程
  • 网络爬虫
  • Socket
  • HTTP
  • TCP/IP
  • 并发编程
  • 服务器
  • 客户端
  • 实战
  • 图灵图书
想要找书就要到 图书大百科
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
出版社: 人民邮电出版社
ISBN:9787115372697
版次:1
商品编码:11582063
包装:平装
丛书名: 图灵程序设计丛书
外文名称:Python Network Programming Cookbook
开本:16开
出版时间:2014-12-01
用纸:胶版纸
页数:170
字数:255000
正文语种:

具体描述

产品特色

编辑推荐

  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网络通信的艺术:从基础到精通 在这个信息爆炸、万物互联的时代,网络编程已成为现代软件开发中不可或缺的一环。无论是构建高性能的Web服务、实现实时通信应用,还是开发分布式系统,深入理解和掌握Python网络编程技术都至关重要。本书旨在为读者提供一套全面、实用的Python网络编程解决方案,帮助开发者自信地驾驭网络世界的复杂性,用Python构建强大、高效的网络应用程序。 本书并非简单地罗列API,而是致力于引导读者理解网络通信的底层原理,并将其与Python强大的生态系统相结合,提供切实可行的实践方法。我们将从最基础的网络概念入手,逐步深入到各种高级网络应用场景,通过大量的代码示例和清晰的解释,让读者不仅知其然,更知其所以然。 第一部分:网络基础与Python核心库 在正式踏入网络编程的世界之前,扎实的基础知识是成功的基石。本部分将为您系统梳理TCP/IP协议栈的核心概念,包括但不限于: IP地址与端口: 理解网络设备的身份标识,以及应用程序通信的“门牌号”。我们将详细讲解IPv4和IPv6的寻址方式,以及端口的分配与管理。 TCP与UDP: 深入剖析两种最核心的传输层协议。TCP的连接导向、可靠传输、流量控制和拥塞控制等特性,将通过生动的比喻和清晰的图示展现。UDP的无连接、尽力而为的特点,以及其在特定场景下的优势,也将得到充分阐释。 Socket编程模型: 这是网络编程的核心接口。我们将从最底层的socket API入手,逐步讲解如何创建、绑定、监听、连接、发送和接收数据。读者将学会使用Python的`socket`模块,通过编写简单的客户端-服务器程序,直观感受socket通信的流程。 Python网络库概览: 除了底层的`socket`模块,Python还提供了丰富的高层抽象库,极大地简化了网络编程的复杂性。我们将介绍`http.client`、`urllib`等用于HTTP通信的模块,`email`模块用于邮件处理,以及`selectors`模块用于高效的多路复用,为后续更复杂的网络应用打下基础。 第二部分:构建可靠的TCP服务 TCP协议以其可靠性而著称,是构建大多数网络应用的基础。本部分将带领读者深入实践TCP服务的设计与实现: 并发处理: 在网络服务中,如何同时处理多个客户端的请求是关键。我们将详细讲解两种经典的并发模型: 多线程并发: 利用Python的`threading`模块,为每个客户端连接创建一个独立的线程。我们会讨论线程创建的开销、线程同步问题以及如何使用锁、信号量等机制保证数据安全。 多进程并发: 利用Python的`multiprocessing`模块,通过创建独立的进程来处理客户端请求。我们将分析进程的优势和劣势,以及如何通过进程间通信(IPC)机制实现数据共享。 非阻塞I/O与多路复用: 传统的阻塞式I/O在处理大量并发连接时效率低下。本部分将重点讲解非阻塞I/O的概念,以及如何利用`selectors`模块实现高效的多路复用。读者将学会使用`select`、`poll`、`epoll`等机制,在单个线程或进程中同时管理多个socket连接,极大地提升服务器的吞吐量和响应速度。 协议设计与序列化: 在客户端和服务器之间进行数据交换,需要定义一套清晰的通信协议。我们将探讨自定义协议的设计原则,以及如何使用JSON、Protocol Buffers等序列化技术,实现高效、灵活的数据传输。 实现一个简单的TCP聊天室: 通过一个完整的项目实例,读者将亲手构建一个支持多用户在线交流的聊天室。从客户端连接、消息广播到用户管理,每一个环节都将得到详尽的讲解和代码演示。 第三部分:拥抱Web与HTTP协议 HTTP是现代Web应用程序的基石。本部分将聚焦于Python在Web开发和HTTP通信方面的应用: HTTP协议详解: 深入理解HTTP请求(GET、POST、PUT、DELETE等)和响应的构成,包括请求头、请求体、状态码、响应头等。我们将分析HTTP/1.1和HTTP/2的新特性,以及它们对网络性能的影响。 使用Python构建Web服务器: 从零开始,我们将学习如何使用Python的`http.server`模块构建一个简单的HTTP服务器。在此基础上,我们将探讨如何集成更强大的Web框架,如Flask或Django,来快速开发功能丰富的Web应用。 HTTP客户端实践: 掌握如何使用Python的`requests`库,轻松发送HTTP请求,获取网页内容,调用API接口。我们将讲解如何处理Cookies、Session、认证、代理等常见需求。 RESTful API设计与实现: 学习RESTful架构风格的原则,以及如何使用Python构建符合RESTful风格的API服务。我们将通过实例演示如何设计资源URI,选择合适的HTTP方法,并返回标准化的响应。 第四部分:异步网络编程与高性能I/O 在处理高并发、低延迟的网络应用时,传统的同步阻塞模型已难以满足需求。本部分将引领读者进入异步编程的殿堂: 事件驱动编程模型: 理解事件循环、协程(coroutine)的概念,以及它们如何协同工作,实现高效的I/O操作。 `asyncio`深度解析: Python 3.5+引入的`asyncio`库是实现异步I/O的核心。我们将详细讲解`async`和`await`关键字的用法,如何创建和管理协程,以及如何使用`asyncio`提供的各种工具,如事件循环、任务、队列等。 构建高性能的异步TCP服务器: 利用`asyncio`,我们将重新实现一个比之前更具扩展性和性能的TCP服务器,能够高效地处理成百上千的并发连接。 异步HTTP客户端与服务器: 学习如何使用`aiohttp`等库,构建异步的HTTP客户端和服务器,实现高吞吐量的Web服务。 第五部分:网络安全与数据传输 在网络通信中,安全至关重要。本部分将探讨如何保护数据在传输过程中的安全: SSL/TLS加密: 深入理解SSL/TLS协议的工作原理,以及如何使用Python的`ssl`模块,为TCP连接添加TLS加密,实现安全的HTTPS通信。我们将讲解证书的生成、验证和配置。 数据加密与解密: 介绍对称加密和非对称加密的基本概念,以及如何使用Python的`cryptography`库,实现数据的加密和解密操作。 网络安全基础: 探讨常见的网络安全威胁,如中间人攻击、DDoS攻击等,并提供一些基本的防范策略。 第六部分:高级网络应用与场景 在掌握了基础和核心技术之后,本部分将拓展到更广泛、更复杂的网络应用场景: 构建分布式系统: 探讨分布式系统中常见的通信模式,如消息队列、RPC(远程过程调用),以及如何使用Python的相关库(如Celery、gRPC)来实现。 实时通信应用: 学习如何使用WebSocket协议,构建实时聊天、在线游戏等需要双向、低延迟通信的应用。 网络爬虫与数据抓取: 结合前面学习的网络知识,讲解如何使用Python编写高效的网络爬虫,抓取互联网上的数据。 网络性能优化: 总结和归纳网络编程中的常见性能瓶颈,并提供相应的优化技巧和策略,如连接池、缓存、协议选择等。 本书特色: 循序渐进,由浅入深: 从最基础的网络概念到高级的异步编程,结构清晰,逻辑严谨。 实践驱动,代码至上: 提供大量可运行、可修改的Python代码示例,读者可以通过动手实践加深理解。 原理阐释,透彻易懂: 在讲解代码的同时,深入分析背后的网络原理和技术细节。 覆盖广泛,应用性强: 涵盖了从基础网络通信到Web开发、分布式系统等多个重要领域。 面向实战,解决痛点: 专注于解决开发者在实际网络编程中遇到的常见问题和挑战。 无论您是初涉网络编程的开发者,还是希望提升Python网络编程技能的资深工程师,本书都将是您不可或缺的宝贵资源。通过本书的学习,您将能够自信地运用Python构建健壮、高效、安全的网络应用程序,在数字互联的世界中游刃有余。

用户评价

评分

这本书《Python网络编程攻略》简直就是给所有对网络编程感到迷茫的Python开发者量身打造的。我一直觉得网络编程是一门非常高深的学问,各种复杂的协议和底层机制让人望而却步。但这本书不一样,它用一种非常接地气的方式,把这些复杂的概念一点一点地剖析开来。书中的每一个“食谱”都非常实用,而且都提供了完整的代码,可以直接拿来用,或者作为自己开发的起点。我特别喜欢它在解释一些核心概念,比如socket编程、TCP/UDP的区别、HTTP协议的细节时,都用了非常形象的比喻和清晰的图解,这让我能够很快地理解这些抽象的概念。而且,书中还涉及到了很多进阶的内容,比如如何处理网络延迟、如何实现高并发的服务等,这些都是在实际开发中非常关键的技能。这本书让我感觉,原来网络编程也可以如此有趣和触手可及。

评分

我一直觉得,网络编程就像一个黑箱,虽然知道它能实现各种酷炫的功能,但具体是怎么运作的,总是让我感觉云里雾里。直到我翻开这本《Python网络编程攻略》,才真正拨开了迷雾。这本书的结构安排得非常合理,从最基础的网络通信原理讲起,循序渐进地深入到各种具体的应用场景。我尤其欣赏它在讲解过程中,不仅仅是罗列代码,而是会深入剖析代码背后的逻辑和原理,让你知其然,更知其所以然。书中的案例都非常贴近实际开发需求,涵盖了文件传输、聊天室、Web服务等多种常见的网络应用。我按照书中的步骤,一步步地跟着敲代码,调试,最终实现了自己的第一个简单的HTTP服务器。这种亲手实践出真知的学习方式,让我对网络编程的理解更加深刻,也更有信心去 tackling 更复杂的问题。而且,这本书对Python在网络编程领域的强大支持做了很好的展示,让我认识到Python在网络开发方面的巨大潜力。

评分

这本《Python网络编程攻略》真是把我从一个网络编程的门外汉,一步步推向了熟练掌握的境界。我一直对网络通信底层的东西感到好奇,但又觉得门槛很高,各种协议、socket编程听起来就头大。这本书就像一把钥匙,把那些晦涩的概念一一拆解,用最直观、最贴近实际应用的例子来解释。从基础的TCP/IP socket编程,到更高级的HTTP协议解析,再到并发处理的各种技巧,作者都给出了清晰的步骤和实用的代码片段。我最喜欢的一点是,它不是那种“教你写代码”的书,而是“教你如何思考如何写代码”的书。遇到问题时,我不再是盲目地搜索,而是能够理解问题产生的根源,并且知道该从哪里入手去解决。书中提供的各种“食谱”式解决方案,直接针对我遇到的具体场景,让我能够快速地将学到的知识应用到实际项目中,极大地提升了我的开发效率。即使是对Python稍有了解,但网络编程经验为零的我,也能通过这本书建立起扎实的知识体系。那些关于端口、IP地址、粘包、半连接等概念的讲解,清晰易懂,配合着丰富的代码示例,简直是为我量身定做的。

评分

老实说,在读这本书之前,我对网络编程的理解还停留在“发送数据包”的层面,对于其中的细节一无所知。这本《Python网络编程攻略》彻底颠覆了我的认知。它不仅仅是教你如何写网络程序,更是带你理解网络通信的本质。作者用一种非常巧妙的方式,将那些看似复杂的概念,比如socket的生命周期、TCP的可靠传输机制、HTTP请求与响应的流程,都用非常直观的语言和代码示例讲解清楚。我最欣赏的是书中提供的各种“配方”,它们就像是一份份经过验证的解决方案,可以直接应用到我的项目中,大大节省了我摸索的时间。而且,作者并没有止步于基础,还深入探讨了如何处理并发、如何优化网络性能等进阶话题,这对于想要在网络编程领域深入发展的开发者来说,非常有价值。这本书让我感觉,自己掌握的不仅仅是几行代码,而是对网络通信有了更深层次的理解。

评分

作为一名经验尚浅的开发者,我一直对网络编程感到头疼,感觉它离我遥不可及。偶然的机会,我发现了这本《Python网络编程攻略》,从此打开了新世界的大门。这本书最大的亮点在于它的“攻略”性质,它不是那种枯燥乏味的理论堆砌,而是提供了大量实用的“配方”,让你能够快速地解决实际开发中遇到的网络编程问题。从建立基本的socket连接,到实现更复杂的协议,再到处理高并发场景,书中都提供了详细的步骤和完整的代码示例。我印象最深刻的是关于多线程和异步IO的章节,作者用通俗易懂的语言解释了这些概念,并提供了相应的Python实现。这让我茅塞顿开,之前那些困扰我的性能瓶颈问题,似乎都有了解决的思路。这本书让我感觉,网络编程不再是遥不可及的星辰大海,而是触手可及的工具箱。

评分

买来没留意,到最后了才发现残页。本来想找客服反馈一下,结果发现APP上怎么也无法启动跟客服的对话。有谁买了这本书,能够拍一张这张纸的照片让我看看写了啥内容吗??

评分

非常不错,涉及面广切非常实用。

评分

挺好

评分

评分

包含的内容跨度比较大,就是书比较薄。

评分

给老公买的书。。。。

评分

不错不错不错不错不错不错不错不错不错不错

评分

东西不错,送货速度也非常快。是一本学习python的好书。

评分

很不错 送货超级快!

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.teaonline.club All Rights Reserved. 图书大百科 版权所有