1. 程式人生 > >python之模仿ssh客戶端

python之模仿ssh客戶端

utf local 循環 imp true print 數據 code enc

import socket

client = socket.socket()        #客戶端實例化

client.connect((‘localhost‘,9999))    #與服務器建立連接
while True:                  #循環發送指令
cmd = input(">>:").strip()       #註意指令不小心輸入的空格去掉 
if len(cmd) == 0: continue        #輸入空信息時,防止客戶端卡死,讓用戶重新輸入
client.send(cmd.encode(‘utf-8‘))    #註意將指令從字符串轉換為字節
cmd_res_size = client.recv(1024)    #接收服務端發來的返回信息長度值
print(‘數據長度‘,cmd_res_size)      
received_size = 0              #返回值長度屬性             
received_data = b‘‘              #返回值具體數據
while received_size < int(cmd_res_size.decode()):    #循環接收數據直到達到長度閥值
data = client.recv(1024)              #每次接收1024
received_size += len(data)            #計算接收到的長度
#print(data.decode())               
received_data += data            #接收的數據

else:
print(‘cmd res receive done...‘,received_size)
print(received_data.decode())

python之模仿ssh客戶端