Wget сжатый совет от Bitbucket (Mercurial) - PullRequest
2 голосов
/ 31 октября 2011

Мы хотели бы использовать Mercurial для веб-разработки, но мы не можем (и не хотим) устанавливать Mercurial на общем хосте.Мы пытаемся использовать wget, как упомянуто здесь , но я получаю 401 ошибку.Учетные данные и ссылки верны (изменены для безопасности).

Есть ли способ загрузить исходный код из командной строки?

Это ошибка или я что-то не так делаю?

Ответ ниже:

$ wget _http://xxxx:yyyyyyy@bitbucket.org/username/repo/get/be51983f6357.zip 
--2011-10-31 00:26:50--
http://username:password@bitbucket.org/username/repo/get/be51983f6357.zip 
Resolving bitbucket.org... 207.223.240.182, 207.223.240.181 
Connecting to bitbucket.org|207.223.240.182|:80... connected. 

HTTP request sent, awaiting response... 
301 Moved Permanently Location: https://bitbucket.org/username/repo/get/be51983f6357.zip [following] 
--2011-10-31 00:26:51-- 
https://bitbucket.org/username/repo/get/get/be51983f6357.zip 
Connecting to bitbucket.org|207.223.240.182|:443... connected. 
HTTP request sent, awaiting response... 
401 UNAUTHORIZED Authorization failed.

Взять 2:

Спасибо за помощь ... Я изменил http на https и атрибуты пользователя и пароля пользователя:

Браузер работает нормально, Wgetне ...

$ wget --verbose --user=XXXXX --password=YYYY  https://bitbucket.org/ekku/REPO/get/aabbccddeee.zip
--2011-10-31 18:27:10--  https://bitbucket.org/ekku/REPO/get/aabbccddeee.zip
Resolving bitbucket.org... 207.223.240.182, 207.223.240.181
Connecting to bitbucket.org|207.223.240.182|:443... connected.
HTTP request sent, awaiting response... 401 UNAUTHORIZED
Failed writing HTTP request: Bad file descriptor.
Retrying.

Взять 3:

Я также пытался свернуться, но я получаю сообщение об ошибке: Запрещена (403) проверка CSRF.Запрос отменен.

Ответы [ 2 ]

8 голосов
/ 02 ноября 2011

У меня все работает с curl:

curl --digest --user username:password https://bitbucket.org/user/repo/get/tip.zip -o test.zip    

Ответ от Bitbucket: Выпуск # 3225 - Commanline скачать сжатый совет

Привет, Эса, мына самом деле не поддерживает базовую аутентификацию для загрузки исходных пакетов.Вам нужно использовать дайджест аутентификации.Кроме того, насколько я понимаю, в wget есть ошибка, связанная с реализацией auth-дайджеста.Вы можете использовать curl с флагом --digest и флагом -o, чтобы указать ваш выходной файл.Ура, Дилан

0 голосов
/ 31 октября 2011

Вы не должны использовать bitbucket сверх http; всегда используйте https. Это должно избавить от дополнительного перенаправления, которое вы видите.

Также используйте параметры командной строки --user и --password, чтобы указать аутентификацию для wget; SSL, вероятно, не позволяет добавлять пользователя и пароль к URL-адресу, поскольку серверная часть (между :// и следующим /) отправляется на сервер в виде простого текста.

...