注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)其他編程語(yǔ)言/工具Python網(wǎng)絡(luò)編程基礎(chǔ)

Python網(wǎng)絡(luò)編程基礎(chǔ)

Python網(wǎng)絡(luò)編程基礎(chǔ)

定 價(jià):¥68.00

作 者: (美)高森(John Goerzen) 著;莫遲、等 譯
出版社: 電子工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: Python

ISBN: 9787121044953 出版時(shí)間: 2007-06-01 包裝: 平裝
開本: 16 頁(yè)數(shù): 512 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  《Python網(wǎng)絡(luò)編程基礎(chǔ)》全面介紹了使用Python語(yǔ)言進(jìn)行網(wǎng)絡(luò)編程的基礎(chǔ)知識(shí),主要內(nèi)容包括網(wǎng)絡(luò)基礎(chǔ)知識(shí)、高級(jí)網(wǎng)絡(luò)操作、Web Services、解析HTML和XHTML、XML、E-mail服務(wù)、FTP、使用Python操作數(shù)據(jù)庫(kù)、SSL、幾種服務(wù)器端框架(包括Socket服務(wù)器、SimpleXMLRPCServer、CGI和mod_python),以及多任務(wù)處理(包括Forking、線程和異步通信)等。本書實(shí)用性強(qiáng),共提供了大約175個(gè)實(shí)例,6600行以上的代碼,是幫助讀者全面而快速地學(xué)習(xí)Python語(yǔ)言、編寫網(wǎng)絡(luò)程序的最佳實(shí)踐。本書可以作為各層次Python、Web和網(wǎng)絡(luò)程序的開發(fā)人員的參考書,在實(shí)際工作中使用書中的技術(shù),效果更佳。 本書第1部分討論了客戶端和服務(wù)器的設(shè)計(jì),這是所有網(wǎng)絡(luò)應(yīng)用程序的基礎(chǔ)。您將學(xué)到如何利用IPv6的優(yōu)點(diǎn)來(lái)編寫應(yīng)用程序,如何與域名服務(wù)器通信,以及如何獲取網(wǎng)頁(yè)等。 本書第2部分將向您演示如何編寫發(fā)送和接收E—mail的程序、提供靜態(tài)和動(dòng)態(tài)網(wǎng)頁(yè)的程序、傳輸文件以及其他網(wǎng)絡(luò)程序。您將學(xué)到如何使用Apach1e的mod_python模塊來(lái)建立基于Web的Python應(yīng)用程序。 本書最后一部分側(cè)重于Python網(wǎng)絡(luò)編程高級(jí)應(yīng)用方面的知識(shí),講解了如何使用多任務(wù)處理和無(wú)阻塞的I/O來(lái)編寫可以同時(shí)處理上千個(gè)客戶端的服務(wù)器程 序。在這個(gè)過(guò)程中,您將學(xué)到編寫很多成功網(wǎng)絡(luò)程序的奧秘。最重要的是,通過(guò)對(duì)超過(guò)6600行獨(dú)立的、現(xiàn)成的代碼的學(xué)習(xí),您將能夠立刻把您學(xué)到的知識(shí)應(yīng)用到 實(shí)踐中去。

作者簡(jiǎn)介

  John Goerzen從1996年開始就是Debian GNU/Linux操作系統(tǒng)開發(fā)組的成員,最近15年他一直都在從事軟件開發(fā)方面的工作。他對(duì)操作系統(tǒng)、程序語(yǔ)言和網(wǎng)絡(luò)都很感興趣,并且在工作中也開發(fā)并用到以上這些方面的各種軟件。目前,他在一個(gè)中等規(guī)模的制造公司中擔(dān)當(dāng)程序員和Unix管理員,并且已經(jīng)使用Python開發(fā)了很多用于公司數(shù)據(jù)系統(tǒng)的接口。 作為Debian工作組成員,John為系統(tǒng)維護(hù)了很多不同的程序。從1998年開始,他就致力于啟動(dòng)或向新的體系結(jié)構(gòu)擴(kuò)展Debian,并在Alpha、PowerPC、AMD64和NetBSD i386上取得了很大的成就。 2003年,John被選進(jìn)了Software in the Public Interest(SPI)的董事會(huì)。這個(gè)公司負(fù)責(zé)管理Debian在法律和財(cái)務(wù)上的事務(wù)。同年晚些時(shí)候,他被任命為SPI的副會(huì)長(zhǎng)。 除作為Debian工作組成員之外,John還用了大量的時(shí)間寫軟件。在他眾所周知的作品中,有兩個(gè)是用Python寫的網(wǎng)絡(luò)激活程序。OfflineIMAP是一個(gè)雙向的郵件同步程序,而PyGoDherd是一個(gè)多協(xié)議的Web和Gopher服務(wù)器。這兩個(gè)軟件都用Python獨(dú)有的特性來(lái)支持模塊體系結(jié)構(gòu),并且提供了很好的靈活性。 John還寫了很多書,包括那本800頁(yè)的《Linux Programming Bible》。他還經(jīng)常為雜志撰寫文章,同時(shí)還是很多書的技術(shù)編輯。他還建立了Air Capital Linux用戶組,并經(jīng)常在組里演講。

圖書目錄

目錄
Contents
第1章 客戶/服務(wù)器網(wǎng)絡(luò)介紹 3
理解TCP基礎(chǔ) 3
尋址 4
可靠性 4
路由 5
安全 6
使用客戶/服務(wù)器模式 6
服務(wù)器端端口號(hào) 7
客戶端端口號(hào) 7
理解UDP 7
理解物理傳輸和以太網(wǎng) 9
Python網(wǎng)絡(luò)編程 9
底層接口 10
基本客戶端操作 10
錯(cuò)誤和異常 11
文件類對(duì)象 12
基本服務(wù)器操作 13
高級(jí)接口 15
總結(jié) 17
第2章 網(wǎng)絡(luò)客戶端 19
理解Sockets 19
建立Sockets 20
尋找端口號(hào) 21
從Socekt獲取信息 22
利用Sockets通信 23
處理錯(cuò)誤 23
Socket異常 24
遺漏的錯(cuò)誤 26
文件類對(duì)象引起的錯(cuò)誤 29
使用UDP 31
總結(jié) 34
第3章 網(wǎng)絡(luò)服務(wù)器 35
準(zhǔn)備連接 35
建立Socket對(duì)象 36
設(shè)置和得到Socket選項(xiàng) 36
綁定Socket 39
偵聽連接 39
接受連接 40
處理錯(cuò)誤 41
使用UDP 43
使用inetd或xinetd 45
配置inetd 47
配置xinetd 48
運(yùn)行例子 50
通過(guò)inetd使用Socket對(duì)象 51
通過(guò)inetd使用UDP 51
和inetd相關(guān)的錯(cuò)誤處理 54
什么時(shí)候不應(yīng)該使用inetd 55
通過(guò)syslog來(lái)記錄日志 55
在Python中使用syslog 56
避免死鎖 60
總結(jié) 63
第4章 域名系統(tǒng) 65
進(jìn)行DNS查詢 65
使用操作系統(tǒng)查詢服務(wù) 66
執(zhí)行基本查詢 66
執(zhí)行反向查詢 70
反向查找基礎(chǔ) 71
對(duì)于反向查找數(shù)據(jù)真實(shí)性的檢查 72
獲得環(huán)境信息 74
使用PyDNS進(jìn)行高級(jí)查詢 76
DNS Records 76
安裝PyDNS 77
簡(jiǎn)單PyDNS查詢 77
查詢特殊的名稱服務(wù)器 79
分解查詢結(jié)果 82
總結(jié) 85
第5章 高級(jí)網(wǎng)絡(luò)操作 87
半開放Sockets 87
超時(shí) 89
傳輸字符串 90
唯一字符串結(jié)束標(biāo)識(shí)符 91
轉(zhuǎn)義符(Escaping) 91
數(shù)據(jù)編碼 92
可調(diào)整的字符串結(jié)束標(biāo)識(shí)符 92
首部的大小指示器 92
理解網(wǎng)絡(luò)字節(jié)順序 93
使用廣播數(shù)據(jù) 95
使用IPv6 97
解析地址 98
處理Family參數(shù) 100
綁定到特殊的地址 102
使用poll() 或 select()實(shí)現(xiàn)事件通知 104
使用select() 107
總結(jié) 109
第6章 Web客戶端訪問(wèn) 113
獲取Web頁(yè)面 114
認(rèn)證 115
提交表單數(shù)據(jù) 118
用GET方法提交 118
用POST方法提交 120
處理錯(cuò)誤 121
捕獲連接錯(cuò)誤 121
捕獲數(shù)據(jù)錯(cuò)誤 123
使用非HTTP協(xié)議 125
總結(jié) 125
第7章 解析HTML和XHTML 127
理解基本的HTML解析 128
處理真實(shí)的HTML 130
翻譯實(shí)體 130
轉(zhuǎn)換字符參考 132
處理不均衡的標(biāo)簽 133
一個(gè)實(shí)際可以工作的例子 137
總結(jié) 143
第8章 XML和XML-RPC 145
理解XML文檔 147
使用DOM 148
使用DOM完全解析 151
使用DOM產(chǎn)生文檔 154
DOM類型參考 157
使用XML-RPC 159
XML-RPC自省 160
一個(gè)具有完整功能的例子 162
XML-RPC錯(cuò)誤處理 165
XML-RPC類型處理 165
總結(jié) 166
第9章 E-Mail的編寫和編碼 169
E-Mail Composition and Decoding 169
理解傳統(tǒng)信息 169
處理Header 170
Headers不會(huì)說(shuō)明您的郵件 171
含有的Bcc的Headers 171
郵件列表中的Headers 172
垃圾中的Headers 172
規(guī)則的例外情況 172
顯示Headers中的信息 173
撰寫傳統(tǒng)的郵件 173
添加Date和Message-ID Headers 174
解析傳統(tǒng)郵件 176
基本郵件解析 177
解析日期 178
理解MIME 180
MIME概念 180
MIME是如何工作的 181
添加MIME附件 182
編寫MIME替換方法 185
構(gòu)建非英語(yǔ)的Header 187
組成嵌套的多部分 188
解析MIME郵件 190
解碼部分 192
解碼Headers 193
總結(jié) 195
第10章 簡(jiǎn)單郵件傳輸協(xié)議(SMTP) 197
Simple Message Transport Protocol 197
SMTP庫(kù)簡(jiǎn)介 197
錯(cuò)誤處理和會(huì)話調(diào)試 199
從EHLO中得到信息 202
使用安全Sockets層(Secure Sockets Layer,SSL)和安全傳輸層(Transport Layer Security,TLS) 205
認(rèn)證 208
SMTP技巧 209
總結(jié) 210
第11章 POP 211
連接和認(rèn)證 212
取得郵箱信息 215
下載郵件 216
刪除郵件 218
總結(jié) 221
第12章 IMAP 223
理解Python中的IMAP 224
Twisted中的IMAP簡(jiǎn)介 225
理解Twisted基礎(chǔ) 226
登錄 228
錯(cuò)誤處理 231
掃描文件夾列表 236
檢查文件夾 239
Message Numbers 和. UIDs 239
郵件范圍 240
總結(jié)信息 240
基本下載 243
使用一個(gè)命令下載整個(gè)一個(gè)郵箱 243
下載單獨(dú)郵件 245
標(biāo)記和刪除郵件 249
讀取標(biāo)志 250
設(shè)置標(biāo)志 252
刪除郵件 252
取得郵件的部分內(nèi)容 255
找出郵件結(jié)構(gòu) 256
得到指定的部分 260
查找郵件 262
構(gòu)造查詢 263
執(zhí)行查詢 265
添加郵件 268
建立和刪除文件夾 270
在文件夾之間移動(dòng)郵件 270
總結(jié) 271
第13章 FTP 275
理解FTP 275
通信信道 276
認(rèn)證和匿名FTP 276
用Python實(shí)現(xiàn)FTP功能 277
以ASCII模式下載文件 278
以二進(jìn)制模式下載文件 279
以高級(jí)二進(jìn)制模式下載文件 279
上傳數(shù)據(jù) 281
以高級(jí)二進(jìn)制模式上傳 282
處理錯(cuò)誤 283
掃描目錄 284
解析UNIX目錄列表 286
不用解析列表而得到信息 288
遞歸下載 290
操縱服務(wù)器上的文件和目錄 293
刪除文件和目錄 293
建立目錄 294
移動(dòng)和重命名文件 294
總結(jié) 294
第14章 數(shù)據(jù)庫(kù)客戶端 295
SQL和網(wǎng)絡(luò) 295
Python中的SQL 296
連接 297
PostgreSQL 298
MySQL 299
Jython zxJDBC 299
執(zhí)行命令 301
事務(wù) 302
事件執(zhí)行的性能 303
在結(jié)束前隱藏改變 303
重復(fù)指令 305
參數(shù)風(fēng)格 305
使用executemany() 307
處理那些不適合executemany()的情況 308
得到數(shù)據(jù) 310
使用fetchall() 310
使用fetchmany() 311
使用fetchone() 312
閱讀Metadata 313
計(jì)算行數(shù) 314
以Dictionaries形式得到數(shù)據(jù) 315
使用數(shù)據(jù)類型 317
得到指定類型的數(shù)據(jù) 319
總結(jié) 319
第15章 SSL 321
理解網(wǎng)絡(luò)弱點(diǎn) 322
嗅探攻擊(Sniffing) 322
插入攻擊 323
刪除攻擊 323
重復(fù)攻擊 323
截獲Session 323
偽裝服務(wù)器(信息轉(zhuǎn)向) 324
妥協(xié)的服務(wù)器 324
人體工程學(xué) 324
使用SSL降低攻擊 324
認(rèn)證遠(yuǎn)程機(jī)器 325
理解Python中的SSL 326
使用內(nèi)置的SSL 326
使用OpenSSL 330
使用OpenSSL驗(yàn)證服務(wù)器證書 331
取得根認(rèn)證授權(quán)證書 332
驗(yàn)證證書 332
總結(jié) 338
第16章 SocketServer 341
使用BaseHTTPServer 341
處理對(duì)于特殊文檔的請(qǐng)求 343
同時(shí)處理多個(gè)請(qǐng)求 346
SimpleHTTPServer 348
CGIHTTPServer 349
實(shí)現(xiàn)新協(xié)議 350
取得關(guān)于客戶端的信息 352
IPv6 352
總結(jié) 353
第17章 SimpleXMLRPCServer 355
SimpleXMLRPCServer基礎(chǔ) 356
測(cè)試您的服務(wù)器 358
提供函數(shù) 359
使用類的特性 361
使用DocXMLRPCServer 364
使用CGIXMLRPCRequestHandler 365
支持Multicall函數(shù) 367
總結(jié) 367
第18章 CGI 369
設(shè)置CGI 370
理解CGI 370
理解使用Python編寫CGI 371
取得環(huán)境信息 373
取得輸入 375
額外的URL成分 375
GET方法 378
POST方法 380
轉(zhuǎn)義特殊字符 383
處理一個(gè)字段的多個(gè)輸入 385
上傳文件 386
使用Cookies 388
Cookies的結(jié)構(gòu) 389
使用Cookies 390
總結(jié) 392
第19章 mod_python 393
理解為什么需要mod_python 393
安裝和配置mod_python 394
載入模塊 395
配置Apache目錄 396
修復(fù)配置問(wèn)題 398
理解mod_python基礎(chǔ) 399
PythonHandler的角色 400
處理程序返回值 401
分派請(qǐng)求 402
處理輸入 405
附加的URL部分 405
GET方法 407
POST方法 410
轉(zhuǎn)義(Escaping) 412
理解解釋器實(shí)例 413
在mod_python中預(yù)建立處理程序 415
總結(jié) 415
第20章 Forking 419
理解進(jìn)程 419
理解fork() 421
重復(fù)的文件描述符 422
Zombie進(jìn)程 423
性能 424
Forking的第一步 424
Zombie程序 425
使用信號(hào)解決Zombie問(wèn)題 426
使用輪詢(Polling)來(lái)解決Zombie問(wèn)題 428
Forking服務(wù)器 430
鎖定 433
錯(cuò)誤處理 438
總結(jié) 441
第21章 線程 443
在Python中使用線程 444
使用共享變量 446
安全線程 447
設(shè)法訪問(wèn)共享的且缺乏的資源 450
避免死鎖 453
編寫含有線程的服務(wù)器 455
練習(xí):使用線程的聊天服務(wù)器 457
使用線程池 457
編寫含有線程的客戶端 463
總結(jié) 467
第22章 網(wǎng)絡(luò)客戶端 469
決定是否使用異步I/O 470
使用異步通信 471
高級(jí)的服務(wù)器端使用 476
監(jiān)控多個(gè)master socket 480
在服務(wù)器上使用Twisted 485
總結(jié) 489
索引

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)