Curl 使用AQL(工件查询语言)在jfrog工件上列出repo中的所有构建(工件)

Curl 使用AQL(工件查询语言)在jfrog工件上列出repo中的所有构建(工件),curl,artifactory,artifactory-query-lang,Curl,Artifactory,Artifactory Query Lang,每当我运行curl命令时,它都会抛出一个语法错误。我随后列出了“战争发行”回购协议中的所有工件。不知道是什么问题 $curl -u uname:password -X POST https://<artifactory.com>/artifactory/api/search/aql -d items.find({"repo":"war-release"}) -bash:意外标记`'附近出现语法错误 请尝试以下curl语句: curl-u uname:password-X POST-

每当我运行curl命令时,它都会抛出一个语法错误。我随后列出了“战争发行”回购协议中的所有工件。不知道是什么问题

$curl -u uname:password -X POST https://<artifactory.com>/artifactory/api/search/aql -d items.find({"repo":"war-release"})
-bash:意外标记`'附近出现语法错误


请尝试以下curl语句:


curl-u uname:password-X POST-d items.find{repo:warrelease}https:///artifactory/api/search/aql

另一个不需要用“或”括起查询且在大多数环境中都适用的选项是将查询保存到文件,我们称之为aql.query

items.find(
     {
          "repo":"war-release"
     }
)
然后从包含aql.query文件的同一目录中运行以下curl命令不要忘记用用户名、密码、主机和端口替换命令中的模板

curl-X POST-uuser:password-Taql.query

items.find(
     {
          "repo":"war-release"
     }
)
curl -X POST -k -u user:pwd 'https://xxx/artifactory/api/search/aql' -d 'items.find({"repo":"repo-local"})' gives json output.

使用单引号-这对我来说很好

我们的服务器只接受安全连接,所以我在命令后面附加了-unsecure-v。它没有写任何东西扔404。它应该运行AQL命令$curl-u uname:password-X POST-d items.find{repo:war release}-unsecure-v 404找不到请求的URL/api/search/aql在此服务器上找不到。

我不确定您想做什么,但-unsecure不会绕过ssl。它只是跳过了证书验证。看见听起来好像找不到war版本,所以您得到的是404。作为响应,您得到的错误不是Artifactory返回的错误-您是否在反向代理后面?是的,我在反向代理后面。我能看到回购协议。mysql>从节点中选择distinctrepo;战争| | | |战争发展| | |战争发行列出了如此多的回购。。。。。。并尝试了$curl-capath/etc/pki/tls/certs-u uname:password-X POST-d items.find{repo:war dev}仍然抛出相同的错误。您发布的原始错误是由bash抛出的。。。您是否尝试用或“”封闭查询?