Book description
Utilize Python 3 to get network applications up and running quickly and easily
In Detail
Network programming has always been a demanding task. With full-featured and well documented libraries all the way up the stack, Python makes network programming the enjoyable experience it should be.
Starting with a walkthrough of today's major networking protocols, with this book you'll learn how to employ Python for network programming, how to request and retrieve web resources, and how to extract data in major formats over the Web. You'll utilize Python for e-mailing using different protocols and you'll interact with remote systems and IP and DNS networking.
As the book progresses, socket programming will be covered, followed by how to design servers and the pros and cons of multithreaded and event-driven architectures. You'll develop practical client-side applications, including web API clients, e-mail clients, SSH, and FTP. These applications will also be implemented through existing web application frameworks.
What You Will Learn
- Develop an understanding of network stacks and the power of encapsulation
- Design high-performance network server applications
- Implement socket-based network applications using asynchronous models
- Build client applications for major web APIs, including Amazon S3 and Twitter
- Interact with e-mail servers using SMTP, POP3, and IMAP protocols
- Deal with remote network servers using SSH, FTP, SNMP, SMB/CIFS, and LDAP protocols
- Work with IP addresses including Geo-IP lookups
- Download objects from the Web and craft custom HTTP requests with urllib and the Requests library
Table of contents
-
Learning Python Network Programming
- Table of Contents
- Learning Python Network Programming
- Credits
- About the Authors
- About the Reviewers
- www.PacktPub.com
- Preface
- 1. Network Programming and Python
- 2. HTTP and Working with the Web
-
3. APIs in Action
- Getting started with XML
- The Amazon S3 API
- JSON
- The Twitter API
- HTML and screen scraping
- With great power...
- Summary
- 4. Engaging with E-mails
- 5. Interacting with Remote Systems
- 6. IP and DNS
- 7. Programming with Sockets
-
8. Client and Server Applications
- Client and server
- An echo protocol
- A simple echo server
- A simple echo client
- Concurrent I/O
- Multithreading and multiprocessing
- A multithreaded echo server
- Designing a chat server
- A chat protocol
- Handling data on persistent connections
- A multithreaded chat server
- A multithreaded chat client
- Event-driven servers
- A low-level event-driven chat server
- Frameworks
- An eventlet-based chat server
- An asyncio-based chat server
- More on frameworks
- Taking our servers forward
- Summary
- 9. Applications for the Web
- A. Working with Wireshark
- Index
Product information
- Title: Learning Python Network Programming
- Author(s):
- Release date: June 2015
- Publisher(s): Packt Publishing
- ISBN: 9781784396008
You might also like
book
Python Network Programming
Power up your network applications with Python programming Key Features Master Python skills to develop powerful …
video
Python Network Programming for Network Engineers (Python 3)
The days of configuring Cisco networks only with the command-line interface (CLI) are ending. Do you …
book
Python Network Programming Cookbook - Second Edition
Discover practical solutions for a wide range of real-world network programming tasksAbout This Book Solve real-world …
book
Foundations of Python Network Programming, Third Edition
Foundations of Python Network Programming, Third Edition, covers all of the classic topics found in the …