一、socket模塊 網路服務都是建立在socket基礎之上的,socket是網路連接端點,是網路的基礎;每個socket都被綁定到指定的IP和埠上; 1、首先使用socket(family=AF_INET,type=SOCK_STREAM,proto)函數創建一個對象; family 地址參數, ...
一、socket模塊
網路服務都是建立在socket基礎之上的,socket是網路連接端點,是網路的基礎;每個socket都被綁定到指定的IP和埠上;
1、首先使用socket(family=AF_INET,type=SOCK_STREAM,proto)函數創建一個對象;
family 地址參數,還可以有AF_INET6,AF_UNIX;
type socket類型;
proto 協議類型,可選參數
創建成功後用bind('127.0.0.1',1051)綁定ip地址和埠,如果地址為空則表示本機;
2、socket對象方法:
listen(backlog) 監聽所有socket對象創建的連接,backlog指定連接隊列數,最小為1,最大一般為5;
connect(address) 連接到服務端
connect_ex(address) 兩個都可以連接到服務端,不同的是第一個返回一個錯誤,第二個返回一個異常;
accept() 接收來自客戶端的數據,返回一個新的socket對象和客戶端地址;
recv(bufsize,flags) 僅返回所接收的字元串;bufsize指定接收緩衝區的大小,flags為可選參數,表示接收標誌;
recvfrom(bufsize,flags) 返回所接收的字元串和地址;
send(string,flags) 向已經連接的socket發送數據;
sendall(string,flags) 與send不同的是將會一直發送完全部數據;
sendto(string,flags,address) 可以向一個未連接的socket發送數據;
makefile(mode,bufsize) 將socket關聯到文件對象上,兩個參數都是可選的,mode文件模式,bufsize緩衝區大小;
close() 完成通信後,應使用close方法關閉網路連接;
二、httplib模塊
(一)httplib模塊內提供了HTTPConnection對象和HTTPRresponse對象;
當創建一個HTTPConnection對象時可用方法有:
1、request(method,url,body,headers) 向伺服器發送請求;
method 方法,有"GET","POST"等待連接
body 發送的數據
headers 發送的HTTP頭
2、getresponse() 返回一個HTTPResponse對象;
3、close() 關閉與伺服器的連接;
4、send(data) 發送數據;
5、putrequest(request,selector,skip_host,skip_accep_encoding) 向伺服器發送請求;
request 所發送的操作;
selector 進行操作的URL;
skip_host 若為True則禁止自動發送"POST";
skip_accep_encoding 若為True則禁止自動發送"Accept-Encoding:headers"
6、putheader(headers,argument,...)
headers 發送的HTTP頭;
argument 發送的參數;
7、endheaders()
(二)HTTPResponse 對象方法:
1、read() 獲得伺服器的響應主體;
2、getheader(name,default) 獲取伺服器響應的HTTP頭;
3、version() 查看HTTP協議的版本;
4、status() 查看HTTP協議的狀態;
5、reason()
三、ftp模塊
1、FTP(host,user,passwd,acct) 創建一個FTP連接對象,此對象的方法有:
getwelcome() 獲得FTP伺服器的歡迎信息
abort() 中斷文件傳輸
sendcmd(command) 發送命令,command為一個字元串
voidcmd(command) 發送命令,但沒有返回值
retrbinary(command,callback,maxblocksize,rest) 下載文件(二進位)
command 由"RETR 文件名 組成"
callback 回調函數
maxblocksize 每次傳輸最大位元組數
rest 文件續傳位置
retrlines(command,callback) 下載文件(ASCII)
storbinary(command,file,blocksize) 以二進位上傳文件;
storlines(command,file) 以ASCII形式上傳文件;
dir() 獲取當前目錄的內容列表;
rename(fromname,toname) 重命名
delete(filename) 刪除文件
cwd(pathname) 改變當前目錄
mkd(pathname) 創建目錄
rmd(dirname) 刪除伺服器上的目錄
size(filename) 獲取文件大小
set_pasv(boolean) 設置傳輸模式
quit()
close() 關閉伺服器的連接
2、set_debuglevel(level) 設置調試級別
3、connect(host,port) 配置host
4、login(user,passwd,acct) 登錄
附:可使用poplib模塊和smtplib模塊收發郵件