我正在尝试发出带有参数的jenkins作业的Post请求 我在网络模块中搜索,并观察到发出发帖请求时需要传递的以下表格数据。 我创建了一个称为有效负载的字典,并将其与数据一起发送,但出现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)
答案 0 :(得分:0)
如果您尝试使用JSON
请求将HTTP POST
数据发送到端点,则可以执行以下任一操作:
>>> import json
>>> url = 'https://api.jenkins.com/some/endpoint'
>>> payload = {'some': 'data'}
>>> r = requests.post(url, data=json.dumps(payload))
或者这样(首选方式):
>>> url = 'https://api.github.com/some/endpoint'
>>> payload = {'some': 'data'}
>>> r = requests.post(url, json=payload)
有关更多详细信息,请参阅documentation。