如何在 Python 中的 POST 请求中将查询作为正文发送
How to send a Query as a body in the POST request in Python
我正在尝试将人工查询作为正文发送到 POST Method.I 总是得到 400 的响应(这是一个错误的请求)。这是我的 code.What我做错了吗 here.Query 看起来不错,因为它可以使用 curl 和 Groovy.
host = http://artifactory.com/artifactory
build_url = '%s/api/search/aql' % (host)
payload='{items.find({"repo":"lib","type":"file","path":"builds"}).include("*"}'
response = requests.post(build_url,data=payload,auth=(user:pwd))
print response
输出:
回应[400]
我正在使用 Python 2.7,这里是 REST API 详细信息
Artifactory Query Language (AQL) REST API
Since: 3.5.0
Security: Requires an authenticated user
Usage: POST /api/search/aql
Consumes: text/plain
--提前致谢
我认为您只是在 include("*"
之后的末尾少了一个括号。试试这个:
payload='{items.find({"repo":"lib","type":"file","path":"builds"}).include("*")}'
编辑:根据讨论,问题是缺少身份验证。
我正在尝试将人工查询作为正文发送到 POST Method.I 总是得到 400 的响应(这是一个错误的请求)。这是我的 code.What我做错了吗 here.Query 看起来不错,因为它可以使用 curl 和 Groovy.
host = http://artifactory.com/artifactory
build_url = '%s/api/search/aql' % (host)
payload='{items.find({"repo":"lib","type":"file","path":"builds"}).include("*"}'
response = requests.post(build_url,data=payload,auth=(user:pwd))
print response
输出: 回应[400]
我正在使用 Python 2.7,这里是 REST API 详细信息
Artifactory Query Language (AQL) REST API
Since: 3.5.0
Security: Requires an authenticated user
Usage: POST /api/search/aql
Consumes: text/plain
--提前致谢
我认为您只是在 include("*"
之后的末尾少了一个括号。试试这个:
payload='{items.find({"repo":"lib","type":"file","path":"builds"}).include("*")}'
编辑:根据讨论,问题是缺少身份验证。