Hugendubel.info - Die B2B Online-Buchhandlung 

Merkliste
Die Merkliste ist leer.
Bitte warten - die Druckansicht der Seite wird vorbereitet.
Der Druckdialog öffnet sich, sobald die Seite vollständig geladen wurde.
Sollte die Druckvorschau unvollständig sein, bitte schliessen und "Erneut drucken" wählen.

Foundations of Python Network Programming

E-BookPDF1 - PDF WatermarkE-Book
388 Seiten
Englisch
Apresserschienen am20.10.20143rd ed
Foundations of Python Network Programming, Third Edition, covers all of the classic topics found in the second edition of this book, including network protocols, network data and errors, email, server architecture, and HTTP and web applications, plus updates for Python 3.

Some of the new topics in this edition include:

• Extensive coverage of the updated SSL support in Python 3
• How to write your own asynchronous I/O loop.
• An overview of the 'asyncio' framework that comes with Python 3.4.
• How the Flask web framework connects URLs to your Python code.
• How cross-site scripting and cross-site request forgery can be used to attack your web site, and how to protect against them.
• How a full-stack web framework like Django can automate the round trip from your database to the screen and back.

If you're a Python programmer who needs a deep understanding of how to use Python for network-related tasks and applications, this is the book for you. From web application developers, to systems integrators, to system administrators-this book has everything that you need to know.



Brandon Rhodes is a consulting programmer who also teaches the Python language professionally for organizations that are adding the language to their tool set. He has spoken at PyOhio; at PyGotham; at national PyCon conferences in Canada, Ireland, and Poland; and at Django conferences in Portland, Wales, and Warsaw, where he was delighted at the creativity of the organizers, who rented a circus tent for the occasion. He will chair the flagship PyCon North America conference in Portland in 2016-2017. Brandon is interested in how ideas like the Clean Architecture can help programmers organize code more effectively and in what we can learn from writers in other fields about offering kind and actionable critiques of each other's work. He currently lives in tiny Bluffton, Ohio, with his wife Jackie and their two cats.
mehr
Verfügbare Formate
BuchKartoniert, Paperback
EUR69,54
E-BookPDF1 - PDF WatermarkE-Book
EUR66,99
E-BookPDF1 - PDF WatermarkE-Book
EUR66,99

Produkt

KlappentextFoundations of Python Network Programming, Third Edition, covers all of the classic topics found in the second edition of this book, including network protocols, network data and errors, email, server architecture, and HTTP and web applications, plus updates for Python 3.

Some of the new topics in this edition include:

• Extensive coverage of the updated SSL support in Python 3
• How to write your own asynchronous I/O loop.
• An overview of the 'asyncio' framework that comes with Python 3.4.
• How the Flask web framework connects URLs to your Python code.
• How cross-site scripting and cross-site request forgery can be used to attack your web site, and how to protect against them.
• How a full-stack web framework like Django can automate the round trip from your database to the screen and back.

If you're a Python programmer who needs a deep understanding of how to use Python for network-related tasks and applications, this is the book for you. From web application developers, to systems integrators, to system administrators-this book has everything that you need to know.



Brandon Rhodes is a consulting programmer who also teaches the Python language professionally for organizations that are adding the language to their tool set. He has spoken at PyOhio; at PyGotham; at national PyCon conferences in Canada, Ireland, and Poland; and at Django conferences in Portland, Wales, and Warsaw, where he was delighted at the creativity of the organizers, who rented a circus tent for the occasion. He will chair the flagship PyCon North America conference in Portland in 2016-2017. Brandon is interested in how ideas like the Clean Architecture can help programmers organize code more effectively and in what we can learn from writers in other fields about offering kind and actionable critiques of each other's work. He currently lives in tiny Bluffton, Ohio, with his wife Jackie and their two cats.
Details
Weitere ISBN/GTIN9781430258551
ProduktartE-Book
EinbandartE-Book
FormatPDF
Format Hinweis1 - PDF Watermark
FormatE107
Verlag
Erscheinungsjahr2014
Erscheinungsdatum20.10.2014
Auflage3rd ed
Seiten388 Seiten
SpracheEnglisch
IllustrationenXXI, 388 p. 11 illus.
Artikel-Nr.1843847
Rubriken
Genre9200

Inhalt/Kritik

Inhaltsverzeichnis
1;Contents at a Glance;3
2;Contents;358
3;About the Author;367
4;About the Technical Reviewers;368
5;Acknowledgments;369
6;Introduction;5
7;Chapter 1: Introduction to Client-Server Networking;9
7.1;The Building Blocks: Stacks and Libraries;9
7.2;Application Layers;12
7.3;Speaking a Protocol;13
7.4;A Raw Network Conversation;14
7.5;Turtles All the Way Down;17
7.6;Encoding and Decoding;18
7.7;The Internet Protocol;19
7.8;IP Addresses;20
7.9;Routing;21
7.10;Packet Fragmentation;22
7.11;Learning More About IP;23
7.12;Summary;24
8;Chapter 2: UDP;25
8.1;Port Numbers;26
8.2;Sockets;27
8.2.1;Promiscuous Clients and Unwelcome Replies;31
8.2.2;Unreliability, Backoff, Blocking, and Timeouts;32
8.2.3;Connecting UDP Sockets;36
8.2.4;Request IDs: A Good Idea;37
8.3;Binding to Interfaces;38
8.4;UDP Fragmentation;40
8.5;Socket Options;41
8.6;Broadcast;42
8.6.1;When to Use UDP;44
8.7;Summary;44
9;Chapter 3: TCP;46
9.1;How TCP Works;46
9.2;When to Use TCP;47
9.3;What TCP Sockets Mean;48
9.4;A Simple TCP Client and Server;49
9.4.1;One Socket per Conversation;52
9.4.2;Address Already in Use;53
9.5;Binding to Interfaces;54
9.6;Deadlock;55
9.7;Closed Connections, Half-Open Connections;60
9.8;Using TCP Streams Like Files;61
9.9;Summary;61
10;Chapter 4: Socket Names and DNS;63
10.1;Hostnames and Sockets;63
10.1.1;Five Socket Coordinates;64
10.1.2;IPv6;65
10.2;Modern Address Resolution;66
10.2.1;Using getaddrinfo() to Bind Your Server to a Port;67
10.2.2;Using getaddrinfo() to Connect to a Service;68
10.2.3;Asking getaddrinfo() for a Canonical Hostname;69
10.2.4;Other getaddrinfo() Flags;70
10.2.5;Primitive Name Service Routines;71
10.2.6;Using getsockaddr() in Your Own Code;71
10.3;The DNS Protocol;73
10.3.1;Why Not to Use Raw DNS;75
10.3.2;Making a DNS Query from Python;75
10.3.3;Resolving Mail Domains;77
10.4;Summary;79
11;Chapter 5: Network Data and Network Errors;80
11.1;Bytes and Strings;80
11.1.1;Character Strings;81
11.1.2;Binary Numbers and Network Byte Order;84
11.2;Framing and Quoting;86
11.3;Pickles and Self-delimiting Formats;91
11.4;XML and JSON;91
11.5;Compression;92
11.6;Network Exceptions;93
11.6.1;Raising More Specific Exceptions;95
11.6.2;Catching and Reporting Network Exceptions;96
11.7;Summary;97
12;Chapter 6: TLS/SSL;98
12.1;What TLS Fails to Protect;98
12.2;What Could Possibly Go Wrong?;99
12.3;Generating Certificates;100
12.4;Offloading TLS;103
12.5;Python 3.4 Default Contexts;104
12.5.1;Variations on Socket Wrapping;108
12.6;Hand-Picked Ciphers and Perfect Forward Security;109
12.7;Protocol Support for TLS;111
12.8;Learning Details;112
12.9;Summary;118
13;Chapter 7: Server Architecture;119
13.1;A Few Words About Deployment;119
13.2;A Simple Protocol;121
13.3;A Single-Threaded Server;124
13.4;Threaded and Multiprocess Servers;127
13.4.1;The Legacy SocketServer Framework;128
13.5;Async Servers;129
13.5.1;Callback-Style asyncio;132
13.5.2;Coroutine-Style asyncio;134
13.5.3;The Legacy Module asyncore;135
13.5.4;The Best of Both Worlds;137
13.6;Running Under inetd;137
13.7;Summary;139
14;Chapter 8: Caches and Message Queues;140
14.1;Using Memcached;140
14.2;Hashing and Sharding;143
14.3;Message Queues;145
14.3.1;Using Message Queues from Python;147
14.4;Summary;151
15;Chapter 9: HTTP Clients;153
15.1;Python Client Libraries;153
15.2;Ports, Encryption, and Framing;155
15.3;Methods;156
15.4;Paths and Hosts;157
15.5;Status Codes;158
15.6;Caching and Validation;160
15.7;Content Encoding;163
15.8;Content Negotiation;163
15.9;Content Type;165
15.10;HTTP Authentication;165
15.11;Cookies;167
15.12;Connections, Keep-Alive, and httplib;168
15.13;Summary;169
16;Chapter 10: HTTP Servers;170
16.1;WSGI;170
16.2;Asynchronous Server- Frameworks;172
16.3;Forward and Reverse Proxies;172
16.4;Four Architectures;173
16.4.1;Running Python Under Apache;175
16.4.2;The Rise of Pure-Python HTTP Servers;175
16.4.3;The Benefits of Reverse Proxies;175
16.5;Platforms as a Service;176
16.6;GET and POST Patterns and the Question of REST;177
16.7;WSGI Without a Framework;179
16.8;Summary;183
17;Chapter 11: The World Wide Web;184
17.1;Hypermedia and URLs;184
17.1.1;Parsing and Building URLs;185
17.1.2;Relative URLs;187
17.2;The Hypertext Markup Language;189
17.3;Reading and Writing to a Database;192
17.4;A Terrible Web Application (in Flask);193
17.5;The Dance of Forms and HTTP Methods;198
17.5.1;When Forms Use Wrong Methods;200
17.5.2;Safe and Unsafe Cookies;200
17.5.3;Nonpersistent Cross-Site Scripting;202
17.5.4;Persistent Cross-Site Scripting;204
17.5.5;Cross-Site Request Forgery;204
17.5.6;The Improved Application;205
17.6;The Payments Application in Django;207
17.7;Choosing a Web Framework;211
17.8;WebSockets;212
17.9;Web Scraping;213
17.9.1;Fetching Pages;214
17.9.2;Scraping Pages;217
17.9.3;Recursive Scraping;219
17.10;Summary;223
18;Chapter 12: Building and Parsing E-Mail;224
18.1;E-Mail Message Format;224
18.2;Building an E-Mail Message;226
18.3;Adding HTML and Multimedia;228
18.4;Adding Content;233
18.5;Parsing E-Mail Messages;234
18.6;Walking MIME Parts;236
18.7;Header Encodings;238
18.8;Parsing Dates;240
18.9;Summary;240
19;Chapter 13: SMTP;241
19.1;E-mail Clients vs. Webmail Services;241
19.1.1;In the Beginning Was the Command Line;241
19.1.2;The Rise of Clients;242
19.1.3;The Move to Webmail;243
19.2;How SMTP Is Used;244
19.2.1;Sending E-Mail;246
19.2.2;Headers and the Envelope Recipient;246
19.2.3;Multiple Hops;247
19.3;Introducing the SMTP Library;248
19.4;Error Handling and Conversation Debugging;249
19.5;Getting Information from EHLO;252
19.6;Using Secure Sockets Layer and Transport Layer Security;254
19.7;Authenticated SMTP;256
19.8;SMTP Tips;258
19.9;Summary;258
20;Chapter 14: POP;259
20.1;POP Server Compatibility;259
20.2;Connecting and Authenticating;260
20.3;Obtaining Mailbox Information;263
20.4;Downloading and Deleting Messages;264
20.5;Summary;266
21;Chapter 15: IMAP;267
21.1;Understanding IMAP in Python;268
21.1.1;IMAPClient;270
21.1.2;Examining Folders;272
21.1.3;Message Numbers vs. UIDs;273
21.1.4;Message Ranges;273
21.1.5;Summary Information;274
21.1.6;Downloading an Entire Mailbox;275
21.1.7;Downloading Messages Individually;277
21.1.8;Flagging and Deleting Messages;283
21.1.9;Deleting Messages;283
21.1.10;Searching;284
21.1.11;Manipulating Folders and Messages;285
21.1.12;Asynchrony;286
21.2;Summary;287
22;Chapter 16: Telnet and SSH;288
22.1;Command-Line Automation;288
22.1.1;Command-Line Expansion and Quoting;289
22.1.2;Unix Command Arguments Can Include (Almost) Any Character;290
22.1.3;Quoting Characters for Protection;293
22.1.4;The Terrible Windows Command Line;294
22.1.5;Things Are Different in a Terminal;294
22.1.6;Terminals Do Buffering;297
22.2;Telnet;298
22.3;SSH: The Secure Shell;302
22.3.1;An Overview of SSH;303
22.3.2;SSH Host Keys;303
22.3.3;SSH Authentication;305
22.3.4;Shell Sessions and Individual Commands;306
22.3.5;SFTP: File Transfer Over SSH;311
22.3.6;Other Features;313
22.4;Summary;314
23;Chapter 17: FTP;315
23.1;What to Use Instead of FTP;315
23.1.1;Communication Channels;316
23.1.2;Using FTP in Python;317
23.1.3;ASCII and Binary Files;318
23.1.4;Advanced Binary Downloading;319
23.1.5;Uploading Data;321
23.1.6;Advanced Binary Uploading;322
23.1.7;Handling Errors;323
23.1.8;Scanning Directories;324
23.1.9;Detecting Directories and Recursive Download;326
23.1.10;Creating Directories, Deleting Things;327
23.1.11;Doing FTP Securely;328
23.2;Summary;328
24;Chapter 18: RPC;329
24.1;Features of RPC;330
24.1.1;XML-RPC;331
24.1.2;JSON-RPC;337
24.1.3;Self-Documenting Data;340
24.1.4;Talking About Objects: Pyro and RPyC;341
24.1.5;An RPyC Example;342
24.1.6;RPC, Web Frameworks, and Message Queues;344
24.1.7;Recovering from Network Errors;344
24.2;Summary;345
25;Index;346
mehr

Autor

Brandon Rhodes is a consulting programmer who also teaches the Python language professionally for organizations that are adding the language to their tool set. He has spoken at PyOhio; at PyGotham; at national PyCon conferences in Canada, Ireland, and Poland; and at Django conferences in Portland, Wales, and Warsaw, where he was delighted at the creativity of the organizers, who rented a circus tent for the occasion. He will chair the flagship PyCon North America conference in Portland in 2016-2017. Brandon is interested in how ideas like the Clean Architecture can help programmers organize code more effectively and in what we can learn from writers in other fields about offering kind and actionable critiques of each other's work. He currently lives in tiny Bluffton, Ohio, with his wife Jackie and their two cats.