【发布时间】:2018-08-30 12:21:32
【问题描述】:
我正在尝试发出 Post 请求以使用参数构建 jenkins 作业 我在网络模块中搜索并观察到我们在发出发布请求时需要传递的以下表单数据。 我创建了一个名为 payload 的字典并将其与数据一起发送,但出现 400 错误。 如何在请求中发送这个表单数据(注意还有json数据,不知道如何发送)
表单数据:
name:user
value:foo
statusCode:303
redirectTo:.
Jenkins-Crumb:xyz
json:{"parameter": {"name": "user", "value": "foo"}, "statusCode": "303", "redirectTo": ".", "Jenkins-Crumb": "xyz"}
Submit:Build
代码:
json = {"parameter": {"name": "user", "value": "foo"}, "statusCode": "303", "redirectTo": ".", "Jenkins-Crumb": "xyz"}
payload = {'json':json, 'Submit':'Build', "name": "user", "value": "foo", "statusCode": "303", "redirectTo": ".", "Jenkins-Crumb": "xyz"}
url_build_job = 'some valid and tested url'
response = requests.post(url_build_job, headers = {'Cookie':'abc'}, data= payload, proxies = Jenkins.proxyDict)
print(response)
【问题讨论】:
-
首先,你的api期望什么?
400错误通常表示由于请求的语法不正确而无法完成请求。 -
正确,我不想在请求中发送那些表单数据,我很困惑我应该发送 json 或 data 哪个参数,因为它由两者组成
标签: python jenkins python-requests