将变量传递给curl命令以调用rest api url n python

问题描述 投票:0回答:1

我正在尝试使用变量triggername传递报告标题名称。当我执行代码时,我在api url中没有捕获triggername的值。

有人可以帮我解决这个问题吗?

**#!/usr/bin/python2.7
import requests
import os
import commands
triggername="GSD_Trigger_Active"
print("**********",triggername, type(triggername))
cmd="""curl -v -u $(ops_unv_cred_user_35ab1e1285be4e659f9ab15fca0a35fc):$(ops_unv_cred_pwd_35ab1e1285be4e659f9ab15fca0a35fc)  -H "Accept: application/json" -X GET 'https://xxxxx.cloud/resources/report/run?reporttitle=triggername'
"""
os.system(cmd)

我收到以下错误消息:

Could not find report with name "triggername"
python
1个回答
0
投票

认为您需要对变量进行插值。最简单的方法是这样。

triggername = "GSD_Trigger_Active"
cmd= f'curl -v -u $(ops_unv_cred_user_35ab1e1285be4e659f9ab15fca0a35fc):$(ops_unv_cred_pwd_35ab1e1285be4e659f9ab15fca0a35fc)  -H "Accept: application/json" -X GET "https://xxxxx.cloud/resources/report/run?reporttitle={triggername}"'

这应该给你的cmd为'curl -v -u $(ops_unv_cred_user_35ab1e1285be4e659f9ab15fca0a35fc):$(ops_unv_cred_pwd_35ab1e1285be4e659f9ab15fca0a35fc) -H "Accept: application/json" -X GET "https://xxxxx.cloud/resources/report/run?reporttitle=GSD_Trigger_Active"'

添加屏幕截图:

PyShell

python3.6之前使用此:

cmd = 'curl -v -u $(ops_unv_cred_user_35ab1e1285be4e659f9ab15fca0a35fc):$(ops_unv_cred_pwd_35ab1e1285be4e659f9ab15fca0a35fc)  -H "Accept: application/json" -X GET "https://xxxxx.cloud/resources/report/run?reporttitle={}"'.format(triggername)
© www.soinside.com 2019 - 2024. All rights reserved.