簡體   English   中英

如何使用urllib2替換數據中的變量以發出POST請求

[英]How to substitute variable in data for making a POST request using urllib2

我想將用戶的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版

我工作了。

語法有誤。 變量替換為-“ win_user”:“'+ winusername +'”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM