我在远程机器上有一个 .bat 文件。我想通过http调用来调用它。我不想在远程机器上进行任何更改。有没有办法使用java和http来做到这一点?
String command = "cmd /C start C:/Users/abc/Desktop/test.bat";
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec(command);
以上方法可以很好地调用本地机器上的 .bat 文件。我也不介意考虑其他方式,但是通过 http 调用它是首选。
编辑:我现在正在使用 paramiko 来执行此操作。但是,我无法在命令提示符下运行远程命令。
ssh = paramiko.SSHClient()
print "Enter the IP address"
ip = raw_input("ip>")
print "Enter the username"
user = raw_input("username>")
print "Enter the password"
pwd = raw_input("password>")
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(ip, username=user, password=pwd, allow_agent = False)
print "connection successfull"
i, o, e = ssh.exec_command("echo test") # example command
s = e.read()
if s: # an error occurred
raise RuntimeError, s
result = o.read()
print result
不知何故,它说AllowDesktopAccess 失败