我想将用户的winusername和winpassword用作参数,然后在我的POST请求正文中使用它。但不幸的是,它不能替代变量。
如果我在POST请求的“数据”部分中对winusername和winpassword的值进行硬编码,则可以正常工作。
#!/usr/bin/python
import urllib2
import base64
import json
# Collect all the inputs from the user
username = str(sys.argv[1])
password = str(sys.argv[2])
winusername = str(sys.argv[3])
winpassword = str(sys.argv[4])
data = '{\n "extra_vars": {\n "win_user": "% winusername",\n "win_pass": "% winpassword"\n }\n}'
request = urllib2.Request("https://awx-myorganization.net/api/v2/job_templates/212/launch/")
base64string = base64.encodestring('%s:%s' % (username, password)).replace('\n', '')
request.add_header("Authorization", "Basic %s" % base64string)
request.add_header('Content-Type', 'application/json')
CreateResponse = urllib2.urlopen(request,data)
data1 = json.load(CreateResponse)
预期结果:应该从用户那里获取winusername和winpassword作为参数,并传递给POST请求的“数据”部分。
注意:我正在使用python版本2.6
答案 0 :(得分:0)
我得到了这个工作。
语法错误。 变量替换为-“ win_user”:“'+ winusername +'”