python之模仿ssh客戶端
阿新 • • 發佈:2018-09-14
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客戶端