grail
是由guido van rossum
編寫的網際網路瀏覽器。
一些流行的工具:
套接字層
協議層
協議常見功能
埠號python 模組
usenet 新聞組
119nntplib
ftp 資料(預設)
檔案傳送
20ftplib
ftp 控制
檔案傳送
21ftplib
smtp
傳送郵件
25smtplib
pop3
獲取郵件
110poplib
imap4
獲取郵件
143imaplib
finger
資訊79
無ssh
命令列22
無telnet
命令列23
telnetlib
python 網路庫模組
模組功能
socket, ssl
網路和ipc通訊支援(tcp/ip,udp等)
cgi伺服器端cgi指令碼支援:解析輸入流,轉義html文字等
urllib.request
從給定位址獲取網頁
urllib.parse
解析url字串不同的部分,可以轉義url
網路、檔案傳送、新聞組
根據**要求將資料儲存在客戶端,便於利用cookies實現自動登入等
poplib, imaplib, smtplib
郵件相關協議
telnetlib
telnet協議模組
html.parser,xml.*
解析網頁
xdrlib, socket
對二進位制資料進行編碼,使其具有可移植性,便於傳輸
struct, pickle
對python物件進行編碼,使其稱為打包二進位制資料或序列化的位元組字串,便於傳輸
email.*
通過標題附件和編碼解析和撰寫電子郵件
mimetypes
推測型別
uu, binhex, base64, binascii, quopri,email.*
編碼和解碼以文字傳輸的二進位制資料(在電子郵件包中自動進行)
socketserver
針對一般網路伺服器的框架
基本的http伺服器部署
socket
模組中包含的高階工具:
ssl.wrap_socket
呼叫可以加密傳輸。
伺服器端程式編寫的一般步驟:
可以使用pickle
和struct
模組序列化物件,然後進行傳輸處理,這樣也比較方便。但針對普通的字串,使用encode
和decode
方法也可以滿足了。
客戶端程式編寫的一般步驟:
完整的示例程式參見 echo/server.py 和 echo/client.py
最後,來看看使用multiprocessing
模組來實現同樣的功能吧,事實上也非常簡單!完整示例**詳見 此處,關鍵**如下:
def
dispatcher
(server):
assert isinstance(server, socket)
while
true:
conn, addr = server.accept()
print('request from client:', addr, end=' ')
print('at', datetime.now())
multiprocessing.process(target=handle_request, args=(conn, )).start()
def
dispatcher
(server):
assert isinstance(server, socket)
while
true:
conn, addr = server.accept()
print('request from client:', addr, end=' ')
print('at', datetime.now())
thread.start_new(handle_request, (conn, ))
class
requesthandler
(socketserver.baserequesthandler):
defhandle
(self):
while
true:
data = self.request.recv(1024)
ifnot data:
break
self.request.send(data)
self.request.close()
defmain
():# 此處可以使用forkingtcpserver等,socketserver會為你處理程序管理的細節。
server = socketserver.threadingtcpserver(('', 2050), requesthandler)
server.serve_forever()
>>> s.makefile()
name=7
mode='r'
encoding='utf-8'>
sockfile = sock.makefile('r')
name = sockfile.readline()
Python學習筆記(十三)
模組包 if name main 軟體目錄結構規範 作業 atm 購物 程式 import 語句 import module1 module2 modulen 當我們使用import語句的時候,python直譯器通過自己的搜尋路徑 存在sys.path裡 進行搜尋from import 語句 fro...
TCP IP網路程式設計學習筆記 十三
io完成埠模型的實現要點 建立乙個io完成埠物件 簡稱cp物件 控制代碼 使用createiocompletionport 建立 使用wsarecv 或者wsasend 進行非同步io操作,操作完成後,系統自動啟用getqueuedcompletionstatus 函式,進而啟用某個執行緒去處理。注...
python基礎學習筆記(十三)
re模組包含對 正規表示式。本章會對 re模組主要特徵和正規表示式進行介紹。什麼是正規表示式 正規表示式是可以匹配文字片段的模式。最簡單的正規表示式就是普通字串,可以匹配其自身。換包話說,正規表示式 python 可以匹配字串 python 你可以用這種匹配行為搜尋文字中的模式,並且用計算後有值併發...