我想从 Artifactory 下载软件包。如果我从 Artifactory UI 手动下载它,并将该文件传输到 Linux 服务器 (RHEL 8),我可以看到该文件采用正确的 ZIP 格式:
file arena-web.zip
arena-web.zip: Zip archive data, at least v2.0 to extract
如果我尝试使用来自同一 Linux 服务器的 CURL 下载它,我会得到 ASCII 文本文件,当然我无法解压缩(这是我的主要问题)
file arena-web.zip
arena-web.zip: ASCII text
我使用的curl命令:
curl -u "user:pass" -O https://artifactory_my_domain/packages/arena-web.zip
我也尝试过-L
和选项。-o
这是某种错误还是可能存在什么问题?
更新 - “文本文件版本”的内容:
{
"repo" : "uueaw-generic-snapshot-local",
"path" : "/packages/arena-web.zip",
"created" : "2022-01-13T13:53:49.152Z",
"createdBy" : "svcacct",
"lastModified" : "2022-01-13T13:53:48.973Z",
"modifiedBy" : "svcacct",
"lastUpdated" : "2022-01-13T13:53:49.153Z",
"downloadUri" : "https://artifactory_mydomain/artifactory/uueaw-generic-snapshot-local/packages/arena-web.zip",
"mimeType" : "application/zip",
"size" : "5412051",
"checksums" : {
"sha1" : "6e5069ee60b1977ad13ddf45a30c12c5fd1d8719",
"md5" : "46fa87adefe864b13bb2216801d246b1",
"sha256" : "a08361f71ec483044f675af07ff8ca214dc2f17a9510c2a626ed57e04670cbfb"
},
"originalChecksums" : {
"sha1" : "6e5069ee60b1977ad13ddf45a30c12c5fd1d8719",
"md5" : "46fa87adefe864b13bb2216801d246b1",
"sha256" : "a08361f71ec483044f675af07ff8ca214dc2f17a9510c2a626ed57e04670cbfb"
},
"uri" : "https://artifactory_my_domain/artifactory/api/storage/uueaw-generic-snapshot-local/packages/arena-web.zip"
}
答案1
file
也只是人类;这可能根本就是错误的。 (它使用启发式方法,没有什么可以保证其他文件格式不会被错误解释)
如果不:
zip 文件完全可以从有效的 ASCII 文本开始;这是文件格式宽松定义的结果。
这导致了所谓的文件格式的存在多语言者,即作为多个文件有效的文件。一个常见的例子是国际PoC杂志||GTFO,其 PDF 文件通常兼作有效的 ZIP、Windows 可执行文件、可启动磁盘映像、游戏机 ROM 映像、音乐文件以及这些文件的组合。
有关多语言者的更多示例,Ange Albertini 提供了出色的会谈关于这个主题,以及他的Github 账户包含许多 zip 多语言和变体的示例;这个是一个 ZIP(一个 JAR,里面有一个 Java .class 的 ZIP),它也是一个 Python 脚本(因此,以 ASCII 文本开头)、一个 Windows 可执行文件和一个 PDF。为什么?因为。