通过s将字符串发送到python脚本

2024-10-02 00:26:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我如何从android应用程序发送一个字符串(shell脚本文件名)到我的pc上的python程序,并让python执行以该字符串命名的脚本?在

我已经完成了python脚本。。。doThis(./openNetflix)将运行./openNetflix脚本,您可能已经猜到它会打开Netflix。在

如何配置python服务器接收字符串并将其传递给doThis(scriptNameString)函数?在


Tags: 函数字符串程序服务器脚本应用程序文件名shell
1条回答
网友
1楼 · 发布于 2024-10-02 00:26:47

我开始写一个有点长的评论这个案件,但当你接近字符限制的评论,它是好的转换成一个答案,我想!在

完成这项任务最简单的方法是使用许多优秀的python库之一来创建REST服务。我个人最喜欢的是bottle,在bottle中实现这种类型的服务非常简单:

from bottle import route, run, template

@route('/execute/<command>')
def execute(command):
    if command == "list_blogs":
        // Do something 1
    elif command == "format_c":
        // Do something 2

run(host='localhost', port=79897)

这不仅为您提供REST服务,而且还将在用户输入和实际执行之间设置一道铁墙,这样用户输入就不会被您试图执行的文件弄乱。记住不要在if/else之外的任何地方使用命令变量。在

正如您所注意到的,这有一个弱点-任何具有此链接的人都可以调用这些函数,并可能导致拒绝服务,甚至可能造成实际损害。这就是为什么有某种控制和附加的安全性,知道请求是从有效的客户机发出的。 有很多方法可以解决这个问题,我强烈建议您深入研究一下现有的方法。非常简单的一种方法是在服务器上存储密钥和盐的dict,如下所示:

^{pr2}$

然后还将这个特定客户机的salt和key存储在客户机代码中。然后,当客户机发出请求时,他将他的密钥和一个校验和(由命令生成的md5、客户机salt key和,例如current hour)作为附加参数。然后,当您收到请求和所有3个变量时,您尝试使用相同的数据创建自己的校验和(因此您为所提供的客户机密钥选择salt,并计算来自客户机的salt、当前小时和命令的md5),如果它们匹配,则您知道请求是有效的。在

相关问题 更多 >

    热门问题