Escapar a! no parâmetro password do wget

5

Estou tentando executar algo assim:

wget --user=foo --password=bar! url

O! na senha está causando problemas. Eu tentei escapar com \, como em

--password=bar\!

Eu tentei encapsular em aspas simples e duplas. Coloquei a senha em um arquivo separado e tentei

- password = cat pass.txt

Cada vez que recebo um 403 Proibido. Usando -d, vejo que o handshake SSL é bem-sucedido. Na linha de comando do Windows, o comando funciona. Minha suposição é que eu preciso escapar do! diferentemente, mas eu não sei de que outra forma.

    
por Dave 11.06.2010 / 02:32

4 respostas

7

Tente usar aspas:

--password="bar\!" ou --password='bar\!'

Qual é o erro no lado do servidor?

Atualização: Eu fiz um teste na minha máquina Ubuntu 10.4 rodando o Apache 2.2.14. wget --user=foo --password=bar! url funciona para mim.

Se eu usar a senha errada, recebo um erro como user foo: authentication failure for "/directorytest/": Password Mismatch .

Atualize novamente: (dando um passo para trás)

Você diz que esse erro é "cliente negado pela configuração do servidor". Eu naveguei pela fonte do Apache, e esta mensagem de erro vem de mod_authz_host . Isso indica que seu problema não está com a senha (que é autenticação), mas o host do cliente não está autorizado a acessar esse recurso do Apache. mod_authz_host lida com nomes de host e IPs.

Acima, você diz "Na linha de comando do Windows, o comando funciona." Todos os seus testes são provenientes do mesmo sistema cliente? Você está executando 'wget' neste mesmo sistema Windows? O que acontece se você tentar acessar este mesmo URL usando o IE ou o Firefox?

Mais discussão aqui e here .

    
por 11.06.2010 / 02:58
0

Teste %21 , que é o valor codificado por URL de ! .

    
por 11.06.2010 / 02:33
0

Teste set +H para desativar a expansão do histórico do Bash.

Editar:

Tente definir password = STRING , http_password = STRING ou ftp_password = STRING no seu arquivo ~/.wgetrc ou um arquivo apontado pela variável de ambiente WGETRC e omitindo a opção --password na linha de comando.

    
por 11.06.2010 / 03:04
0

Não trabalhe:

wget ftp://user:[email protected]/file

Você pode usar:

wget ftp://user:p\[email protected]/file

Por favor, note o '\' antes de '!'

    
por 17.05.2013 / 10:08

Tags