2014-05-11 18 views
11

Mam uruchomioną instancję Sonatype Nexus i muszę napisać skrypt, aby ręcznie pobrać określony artefakt.Jak pobierać artefakty za pomocą wget z Sonatype Nexus

Próbowałem za pomocą interfejsu API REST i wget:

wget --user=username --password=password http://<ip>:<port>/nexus/service/local/artifact/maven/content?g=<group>&a=<artifact>&v=<version>&r=snapshots 

Resolving <ip stuff> 
Connecting to <ipv6 stuff>... failed: Connection refused. 
Connecting to <ipv4 stuff>... connected. 
HTTP request sent, awaiting response... 401 Unauthorized 
Reusing existing connection to <ip>:<port>. 
HTTP request sent, awaiting response... 400 Bad Request 
2014-05-11 20:17:01 ERROR 400: Bad Request. 

Czy ktoś wie, jak uzyskać to do pracy?

Edit: Jestem w stanie pobrać artefakt używając mojego przeglądarkę (i jest zalogowany do interfejsu WWW)

Odpowiedz

20

URL wygląda poprawnie, ale jesteś musiał cytować go, ponieważ zawiera znaki specjalne.

wget --user=username --password=password "http://<ip>:<port>/nexus/service/local/artifact/maven/content?g=<group>&a=<artifact>&v=<version>&r=snapshots" 

też chcieć dodać --content-disposition w celu pobranego nazwa pliku są poprawne. Zobacz tutaj, aby uzyskać więcej informacji:

https://support.sonatype.com/entries/23674267

+0

Czy istnieje jeden dla powershell? Mam to na ps, Invoke-WebRequest: Nie można znaleźć parametru pozycyjnego, który akceptuje argument "--password = admin123". tutaj jest polecenie: wget --user = admin --password = admin123 "http: //ec2-54-299-XX-231.us-west-2.compute.amazonaws. com: 8081/nexus/service/local/artefact/maven/content? g = org & a = foo & v = 1.0 & r = releases " – OK999