У меня есть сценарий Unix, который генерирует URL и выполняет его:Python просить похож на мой UNIX завиток сценарий
export url='http://test.com';
export job_name='MY_JOB_NAME';
jso="{\"parameter\": [{\"name\":\"BRANCH\",\"value\":\"master\"}, {\"name\":\"GITURL\",\"value\":\"https://github.test.com/test/test.git\"}]}";
curl $url/job/$job_name/build --data-urlencode json="$jso";
Я хочу сделать то же самое в Python, и я попытался с помощью «запросы» и 'urllib2', но они, похоже, не образуют точно такой же запрос.
Вот что я пробовал:
import requests
import json
url='http://test.com/job/MY_JOB_NAME/build'
params=[{'name':'BRANCH', 'value':'master'}, {'name':'GITURL', 'value':'https://github.test.ebay.com/test/test.git'}]
payload = json.dumps(params)
resp = requests.post(url, data={'json':payload})
я делаю что-то здесь?
Мой ответ неправильный, я знаю. Раньше был еще один ответ, с которым согласился OP, но он отсутствует сейчас. – laike9m
Отредактировал мою полезную нагрузку json, чтобы сопоставить ее с полезной нагрузкой curl json. Я до сих пор не вижу успешного выполнения URL-адреса. –
@PiHorse, если отредактированный вопрос - это то, что вы пытались, то вы не отправляете права. Вы должны JSON кодировать '{'parameters': [{...}, {...}]}'. –