Foundations of Python Network Programming: The comprehensive guide to building network applications with Python

Front Cover
Apress, Dec 21, 2010 - Computers - 368 pages

This second edition of Foundations of Python Network Programming targets Python 2.5 through Python 2.7, the most popular production versions of the language. Python has made great strides since Apress released the first edition of this book back in the days of Python 2.3. The advances required new chapters to be written from the ground up, and others to be extensively revised.

You will learn fundamentals like IP, TCP, DNS and SSL by using working Python programs; you will also be able to familiarize yourself with infrastructure components like memcached and message queues. You can also delve into network server designs, and compare threaded approaches with asynchronous event-based solutions.

But the biggest change is this edition's expanded treatment of the web. The HTTP protocol is covered in extensive detail, with each feature accompanied by sample Python code. You can use your HTTP protocol expertise by studying an entire chapter on screen scraping and you can then test lxml and BeautifulSoup against a real-world web site. The chapter on web application programming now covers both the WSGI standard for component interoperability, as well as modern web frameworks like Django.

Finally, all of the old favorites from the first edition are back: E-mail protocols like SMTP, POP, and IMAP get full treatment, as does XML-RPC. You can still learn how to code Python network programs using the Telnet and FTP protocols, but you are likely to appreciate the power of more modern alternatives like the paramiko SSH2 library. If you are a Python programmer who needs to learn the network, this is the book that you want by your side.

What you’ll learn Understand low level networking Handle sending and receiving email including composing and decoding emails, SMTP, POP and IMAP Program the lower levels of web application programming such as FastCGI and WSGI and HTTP itself Learn how to use memcached and message qeues using Python Access web services using Python Master multitasking with threads, forking, and asynchronous communication Who this book is for

This book will be of interest to python programmers who need to program networked applications using Python. From web application developers, to systems integrators, to system administrators—this book has everything you need to know.

Table of Contents Introduction to Client/Server Networking UDP TCP Socket Names and DNS Network Data and Network Errors TLS and SSL Server Architecture Caches, Message Queues, and Map-Reduce HTTP Screen Scraping Web Applications E-mail Composition and Decoding SMTP POP IMAP Telnet and SSH FTP RPC
 

What people are saying - Write a review

We haven't found any reviews in the usual places.

Contents

Introduction to ClientServer Networking
1
UDP
15
TCP
35
Socket Names and DNS
51
Network Data and Network Errors
71
TLS and SSL
87
Server Architecture
99
Caches Message Queues and MapReduce
125
Web Applications
179
Email Composition and Decoding
197
SMTP
217
POP
235
IMAP
243
Telnet and SSH
263
FTP
291
RPC
305

HTTP
137
Screen Scraping
163

Other editions - View all

Common terms and phrases

About the author (2010)

John Goerzen is an accomplished author, system administrator, and Python programmer. He has been a Debian developer since 1996 and is currently president of Software in the Public Interest, Inc. His previously published books include the Linux Programming Bible, Debian Unleashed, and Linux Unleashed.

Brandon Craig Rhodes has been an avid Python programmer since the 1990s, and a professional Python developer for a decade. He released his PyEphem astronomy library in the same year that Python 1.5 was released, and has maintained it ever since. As a writer and speaker, Brandon enjoys teaching and touting Python, whether as the volunteer organizer of Python Atlanta or on stage at conferences like PyCon. He was editor of the monthly Python Magazine, was pleased to serve as technical reviewer for the excellent Natural Language Processing with Python, and has helped several open source projects by contributing documentation. Today, Brandon operates the Rhodes Mill Studios consultancy in Atlanta, which provides Python programming expertise and web development services to customers both local and out-of-state. He believes that the future of programming is light, concise, agile, test-driven, and enjoyable, and that Python will be a big part of it.

Bibliographic information