ARTIFACTORY:当启用匿名访问时,如何使用Wget下载PyPI包

穆罕默德Kashif
2022-12-25 36

有时需要使用Wget命令从没有匿名访问权限的存储库下载PyPI包,但是,由于访问被禁止,这可能会失败。

例如,我们在此之后为任何存储库启用了匿名访问KB文章当尝试使用下面的Wget命令下载PyPI包时,将失败,并禁止访问。wget——user=admin——password=password -d http://localhost:8081/artifactory/api/pypi/pypi-local/6e/b0/07bb4981158e66021516a8b47793dfc7e58a7914ca82520b5c28573fa409/AdHoc-0.1.1.tar.gz
未编译的调试支持。忽略——debug标志。
——2020-05-18 19:28:10——http://localhost:8081/artifactory/api/pypi/pypi-local/6e/b0/07bb4981158e66021516a8b47793dfc7e58a7914ca82520b5c28573fa409/AdHoc-0.1.1.tar.gz
正在解析localhost (localhost)…:: 1, 127.0.0.1
连接到localhost (localhost)|::1|:8081…连接。
HTTP请求已发送,等待响应…403年被禁止的
2020-05-18 19:28:11错误403:禁止。
但是,可以使用curl命令或启用对PyPI存储库的匿名访问来下载这些包。

在使用Wget启用对其他存储库的匿名访问后,要从PyPI存储库下载包,可以发送“-auth-no-challenge选项。wget——user=admin——password=password -d——auth-no-challenge http://localhost:8081/artifactory/api/pypi/pypi-local/6e/b0/07bb4981158e66021516a8b47793dfc7e58a7914ca82520b5c28573fa409/AdHoc-0.1.1.tar.gz原因是Wget的工作方式,curl命令将基本身份验证发送到Artifactory,但Wget请求从服务器端进行基本身份验证挑战,即在发送凭据之前,Artifactory,然而,由于来自Wget的第一个请求是匿名的,并且在Artifactory中启用了匿名访问,并且对PyPI存储库没有权限,请求失败。使用“-auth-no-challenge选项和Wget命令一起将绕过Wget命令
向Artifactory发送基本身份验证挑战请求,并随请求一起发送凭据。