You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Artifactory远程仓库中的所有软件包?wget下载无结果求助

解决办法

1. 直接爬厂商源原始URL(别用Artifactory代理地址)

Artifactory远程仓库是代理缓存机制,只有你请求过某个包,它才会从厂商源拉取并缓存。直接爬Artifactory的仓库地址,只能拿到已经缓存的包,拿不到厂商源的全部内容。所以直接针对创建远程仓库时填的厂商源URL执行wget命令:

wget -r --user=your_username --password=your_token "https://厂商源原始URL"

要是厂商源需要认证,替换成对应的用户名和密码/令牌就行。

2. 调整wget参数让递归下载生效

如果必须通过Artifactory获取(比如厂商源需要Artifactory做代理认证),给wget加这些参数:

  • --no-parent: 只爬当前仓库路径,别跳到Artifactory的其他页面
  • --reject="html,htm": 过滤掉Artifactory的网页文件,只下包文件
  • --auth-no-challenge: 确保认证信息能正确传给Artifactory
    示例命令:
wget -r --no-parent --reject="html,htm" --auth-no-challenge --user=你的Artifactory用户名 --password=你的Artifactory令牌 "https://你的Artifactory远程仓库URL"

3. 用Artifactory API批量拿包列表再下载

要是厂商源结构复杂,或者Artifactory有访问控制,先通过API获取所有可下载的包路径,再批量下载:

  1. 调用API获取仓库里的所有包:
curl -u 用户名:令牌 "https://你的Artifactory地址/api/storage/远程仓库名?list&deep=1&listFolders=0"
  1. 解析返回JSON里的uri字段,提取所有包的完整URL,再用wget或curl批量下载。

4. 检查Artifactory远程仓库配置

  • 确认远程仓库的「Allow Artifactory to bypass proxy for this repository」选项设置正确,要是厂商源需要特定代理,Artifactory得能正常访问到它。
  • 检查「Offline Mode」有没有开启,开了的话Artifactory不会主动拉取厂商源的内容。

内容的提问来源于stack exchange,提问作者test sh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 04:02:28