热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python网络编程04socket模块subprocess模块执行远程CMD指令

客户端向服务器发送CMD指令,并返回执行结果.#服务器端importsocketimportsubprocess#subprocess模块可用于执行cmd命令sksocket

客户端向服务器发送CMD指令,并返回执行结果.

# 服务器端
import socket
import subprocess # subprocess模块可用于执行cmd命令sk = socket.socket()
sk.bind(('127.0.0.1',8080))
sk.listen()conn, addr = sk.accept()cmd = conn.recv(1024).decode('utf-8')r = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
# stdout 储存cmd命令返回结果(管道), stderr 储存cmd命令错误时的返回结果(管道)
stdout = r.stdout.read()
stderr = r.stderr.read()if stderr: # 如果stderr非空发送stderrconn.send(stderr)
else:conn.send(stdout)conn.close()
sk.close()

# 客户端
# 客户端发送要执行命令
# 服务器执行,执行完将结果返回给客户端
# 客户端拿到结果呈现到用户眼前import socketsk = socket.socket()sk.connect_ex(('127.0.0.1',8080))cmd = input('输入一个命令>>>') # cmd命令
sk.send(cmd.encode('utf-8'))result = sk.recv(102400).decode('gbk') # 读取执行结果
print(result)sk.close()

推荐阅读
author-avatar
n大牙
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有