curl 下载nexus工件(从原始存储库)

2guxujil  于 2023-05-18  发布在  其他
关注(0)|答案(1)|浏览(215)

我找了很多,但找不到合适的解决方案。从原始存储库(Nexus Sonatype)下载dll文件会产生错误。
Nexus版本为OSS 3.13.0-01
我尝试使用浏览器From the UI of nexus repository下载文件
我尝试使用cURL,但它也产生同样的错误。

C:\Users\admin\Desktop>curl -X GET -u admin "http://url/repository/repositoryname/test.dll"
Enter host password for user 'admin':
<html>
<head>
<title>File Download Blocked</title>
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
<meta name="viewport" content="initial-scale=1.0">
<style>
  #content {
    border:3px solid#aaa;
    background-color:#fff;
    margin:1.5em;
    padding:1.5em;
    font-family:Tahoma,Helvetica,Arial,sans-serif;
    font-size:1em;
  }
  h1 {
    font-size:1.3em;
    font-weight:bold;
    color:#196390;
  }
  b {
    font-weight:normal;
    color:#196390;
  }
</style>
</head>
<body bgcolor="#e7e8e9">
<div id="content">
<h1>File Download Blocked</h1>
<p>Access to the file you were trying to download has been blocked in accordance with company policy. Please contact your system administrator if you believe this is in error.</p>
<p><b>File name:</b> test.dll </p>

<script type="text/javascript">
<!--
function setCookie(name,value, expseconds)
{
var d=new Date();
d.setSeconds(d.getSeconds()+expseconds);
document.cookie=name+ "=" +escape(value)+ ((expseconds==null) ? "" : ";expires="+d.toUTCString());
}
-->
</script>
<noscript><h3 style="color:red; margin-top:0px; padding-top:0px;">This page requires Javascript. Please turn on Javascript.</h3></noscript>
Please click<input type="button" value="Continue" onClick="setCookie('PANID395251712', 1195897971, 30); window.location.href=window.location.href"> to download/upload the file.

</div>
</body>
</html>

Nexus存储库安装在windows 2012 R2服务器中。我可以下载服务器里的藏物。但是上面的错误是在我尝试在本地机器上下载工件时产生的。使用的cURL命令是

curl -X GET -u admin "http://ip:port/repository/repositoryname/test.dll"

我是新的nexus和任何帮助将不胜感激。

xzv2uavs

xzv2uavs1#

我知道这个问题已经存在了一段时间,但我想我会把这个作为任何试图找出如何下载工件的最新版本的人的可能答案。这个答案改编自Sonatype的文档。
以下脚本将从使用基本身份验证的Nexus服务器下载工件的最新版本:

curl [-u $USERNAME:$PASSWORD] -L -X GET "https://[nexus-repo-url]/service/rest/v1/search/assets/download?sort=version&repository=[test-repository]&maven.groupId=[org.springframework.boot]&maven.artifactId=[spring-boot-starter-test]&maven.extension=jar" > ./[spring-boot-starter-test.jar]

您需要替换括号中的所有内容。请注意,url的-u部分是可选的,在上面的示例中,它使用本地环境变量对Nexus服务器进行身份验证。

相关问题