我正在尝试在python脚本中执行curl命令。
如果我在终端中执行此操作,则如下所示:
curl -X POST -d '{"nw_src": "10.0.0.1/32", "nw_dst": "10.0.0.2/32", "nw_proto": "ICMP", "actions": "ALLOW", "priority": "10"}' http://localhost:8080/firewall/rules/0000000000000001
我看到了使用建议pycurl
,但是我不知道如何将其应用于我的。
我尝试使用:
subprocess.call([
'curl',
'-X',
'POST',
'-d',
flow_x,
'http://localhost:8080/firewall/rules/0000000000000001'
])
可以,但是还有更好的方法吗?
您可以像@roippi一样使用urllib:
import urllib2
data = '{"nw_src": "10.0.0.1/32", "nw_dst": "10.0.0.2/32", "nw_proto": "ICMP", "actions": "ALLOW", "priority": "10"}'
url = 'http://localhost:8080/firewall/rules/0000000000000001'
req = urllib2.Request(url, data, {'Content-Type': 'application/json'})
f = urllib2.urlopen(req)
for x in f:
print(x)
f.close()
问题内容: 我前一段时间读过这篇文章,但似乎找不到。我试图找到一个将在终端中执行命令然后输出结果的命令。 例如:脚本将是: 它将在终端中运行该命令的结果 问题答案: 做这件事有很多种方法: 一种简单的方法是使用os模块: 子流程模块可以实现更复杂的事情:例如:
问题内容: 我有一个简单的脚本blah.py(使用Python 2): 如果我通过以下方式执行脚本: 它输出参数,但是如果我通过以下方式执行脚本: 发生错误: 因此参数不会传递给脚本。 PATH中的python.exe。路径中也包含blah.py的文件夹。 python.exe是执行* .py文件的默认程序。 问题是什么? 问题答案: 执行脚本而不在前面键入“ python”时,你需要了解有关Wi
问题内容: 我正在尝试使用bash脚本将JSON文件上传到我的noSQL数据库中,但是它不起作用,我也不明白为什么。 这是脚本: 这是错误: 当我执行命令行中给出的命令时,它仍然可以正常工作。 这是什么错误?谢谢 问题答案: 不要将命令存储在变量中;如果您绝对必须具有可用于日志记录的内容,请将 参数 放入数组中。
问题内容: 在Redis中,我通过CLI运行Lua脚本,如下所示:- 因此,我的Lua脚本接受4个键和2个参数。 现在,我想在Node.js中运行相同的脚本。 我正在使用此库在我的应用程序中导入Redis。 我没有找到任何有关执行Lua脚本的函数参数的示例。 因此,我只是碰到一些可能起作用的东西。但是似乎没有任何作用。 我的app.js像这样: 我的问题:如何使用node.js执行以下命令,以便它
问题内容: 我尝试谷歌搜索答案,但没有运气。 我需要使用我的超级计算机服务器,但是要运行我的python脚本,必须通过shell脚本执行。 例如我要执行 如何做到这一点? 问题答案: 只需确保python可执行文件在PATH环境变量中,然后在脚本中添加 细节: 在文件job.sh中,放入 执行此命令以使脚本可运行: 运行 :
问题内容: 我在树莓派上有一个带有2个按钮(打开和关闭)的PHP网页,“打开”按钮重定向到On.php,“关闭”按钮重定向到Off.php在“ / usr / lib / cgi-bin”中,我有一个python脚本我想执行(script.py),我可以通过在终端上键入以下内容来完美地执行它 如果我从终端执行此操作,它将起作用。 问题是我的“ / var / www”文件夹中的PHP文件(On.p