python-requests - 415 Artifactory AQL POST 中不支持的媒体类型

标签 python-requests artifactory

可能是一个简单的错误,但我通过这个简单的 Artifactory AQL POST 收到了 415 Unsupported Media Type 错误。无论是否包含内容类型 header ,我都会收到相同的错误。

#!/usr/local/bin/python
import requests
import json

username = "admin"
password = "password"
url = "http://myhost:8081/artifactory/api/search/aql"

r = requests.post(url, auth=(username, password), headers={"content-type":"application/json"}, json='{items.find( { "repo":{"$eq":"test-repo"} })}')

if r.status_code == 200:
    print "Success!\n"
    print r.content
else:
    print "Fail\n"
    print r.text

{
“错误”:[{
“状态”:415,
"message": "不支持的媒体类型"
]]
}

最佳答案

AQL 不是 JSON。 items.find(...) 中的文本格式为 JSON,但整个查询作为一个整体并不遵循 JSON 标准。预期的内容类型是 text/plain

此外,您应该使用 json='{items.find( { "repo":{"$eq":"test-repo"} })}' 而不是 data='items.find( { "repo":{"$eq":"test-repo"} })'

关于python-requests - 415 Artifactory AQL POST 中不支持的媒体类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52394874/

相关文章:

python - 使用Python请求模块获取HTTP响应头

docker - Kubernetes无法从Artifactory中提取图像

visual-studio - 无法从 Artifactory 中托管的 NuGet 流中找到包

artifactory - artifactory 的 "Allow content browsing"功能是否已更改或被禁用?

maven - Grails版本插件Maven部署不会始终更新maven-metadata.xml中的<latest>标签

artifactory - 从 Jfrog 中的发行包下载 Artifactory

python - 请求 : disable auto decoding

python - 如何配置请求超时触发 "connection cannot be established"错误

python - 在 Django 中,如何将 Request.response 重新打包为 Django 响应?

python-3.x - 通过请求库调用API获取access token