我正在使用 curl 从 Artifactory 搜索工件,如下所示:
curl -s -u user:passwd http://artifactory:8081/artifactory/api/search/gavc?a=8710&v=REL-0041-20181219.003944-userdebug&c=fastboot | /usr/bin/jq -r .results[].uri
但它显示访问被拒绝错误
[1] 25600
[2] 25601
[2]+ Done v=REL-0041-20181119.003944-userdebug
Access denied
我不知道如何调试这个问题,请给我一些建议。
curl 版本:7.47.0
答案1
这是几个不同的问题。
您的 uri 未转义,因此 [1][2][2]+ 消息意味着
&
被视为后台执行,您需要使用以下代码引用 uri""
您使用
-s
表示静默的选项,因此错误消息被抑制。请删除 -s 并查看 curl 遇到了什么错误,解决它们,然后再添加回 jq 命令。如果您的问题本质上是关于artifactory的使用,那么您可以将artifactory添加到您的标题中。
答案2
有类似的问题。
使用 -v 参数,我发现即使不应该使用 localhost,也使用了代理。
对我来说,一个解决方法是取消设置 http 环境变量:
对于您的环境请参见:set|grep -i http
取消设置...
下一步是排除本地主机 127.0.0.1
no_proxy=localhost,127.0.0.1 导出no_proxy
它可以在 /etc/environment 或 /etc/bash.bashrc 中设置
也检查一下这个。如果你在这里更改了内容,请不要忘记注销/登录。