Escape a! nel parametro password di wget

Sto cercando di eseguire qualcosa di simile:

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

Il ! nella password sta causando problemi. Ho provato a fuggire con \, come in

  • bash se comport un imprevisto di stato nel lavoro crontab
  • ruotare il file nohup out (nohup.log)
  • Ctrl-C negli script bash
  • Dove posso (sicuro) get libintl3.dll?
  • Come posso visualizzare l'indirizzo IP di un'interface?
  • Motd personalizzato per un utente specifico dopo l'accesso tramite SSH?
  •  --password=bar\! 

    Ho provato a incapsulare in virgolette singole e doppie. Ho messo la password in un file separato e ho provato

    –password = cat pass.txt

    Ogni volta, ho 403 proibito. Utilizzando -d, vedo che la stretta di mano SSL ha successo. Nella row di command di Windows, il command funziona. La mia ipotesi è che devo scappare! diversamente, ma non so come altro.

    4 Solutions collect form web for “Escape a! nel parametro password di wget”

    Prova a utilizzare le citazioni:

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

    Qual è l'errore sul lato server?

    Aggiornamento: Ho eseguito un test sulla mia macchina Ubuntu 10.4 con Apache 2.2.14. wget --user=foo --password=bar! url wget --user=foo --password=bar! url funziona per me.

    Se uso la password sbagliata, ottengo un errore come l' user foo: authentication failure for "/directorytest/": Password Mismatch .

    Aggiorna ancora: (Riprendere un passo indietro)

    Dici che questo errore è "client negato per configuration del server". Ho visitato la sorgente Apache e questo messaggio di errore viene da mod_authz_host . Ciò indica che il problema non è con la password (che è l'authentication), ma il tuo host client non è autorizzato ad accedere a questa risorsa Apache. mod_authz_host si occupa di nomi host e IP.

    Sopra, si dice "sulla row di command di Windows, il command funziona". Tutti i tuoi test provengono dallo stesso sistema client? Stai eseguendo 'wget' su questo stesso sistema Windows? Cosa succede se si tenta di accedere a questo stesso URL utilizzando IE o Firefox?

    Ulteriori discussioni qui e qui .

    Prova %21 , che è il valore codificato dall'URL ! .

    Provate a set +H per distriggersre l'espansione della storia di Bash.

    Edit:

    Provare a impostare la password = STRING , http_password = STRING o ftp_password = STRING nel file ~/.wgetrc o un file indicato dalla variabile di ambiente WGETRC e omettendo l'opzione --password dalla row di command.

    Non funziona:

    wget ftp://user:p!w@url.com/file

    Puoi usare:

    wget ftp://user:p\!w@url.com/file

    Si prega di notare il '\' prima '!'

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.