wget para ftp usando una contraseña que contenga @


15

Estoy tratando de obtener algunos archivos de mi servidor ftp desde la línea de comandos. Estoy usando wget para descargar toda la carpeta de una vez. El comando es:

wget -m ftp://username:password@ftp.hostname.com:/path/to/folder

Pero el problema es que mi contraseña contiene el símbolo '@'. Por lo tanto, el comando se convierte

wget -m ftp://username:foo@bar@ftp.hostname.com:/.. 

debido a lo cual, wget intenta reubicar bar@ftp.hostname.com como el host, lo cual no puede. ¡Por favor ayuda!

Respuestas:


30

En lugar de la user:pass@hostnamesintaxis, use modificadores. De wget --help:

--ftp-user=USER         set ftp user to USER.
--ftp-password=PASS     set ftp password to PASS.

Ejemplo:

wget -m --ftp-user=username --ftp-password=foo@bar ftp://ftp.hostname.com/file

7

También puede codificar en URL el nombre de usuario y / o contraseña. El @símbolo se convierte%40

Por ejemplo:

wget -m ftp://username:foo@bar@ftp.hostname.com:/.. 

Se puede escribir como

wget -m ftp://username:foo%40bar@ftp.hostname.com:/.. 

Me doy cuenta de que esta pregunta se resolvió hace mucho tiempo, pero vi esto por el rabillo del ojo y pensé en arrojar una solución (esto es realmente útil, porque debería funcionar con cualquier cosa que use o admita el uso de URI, como FileZilla o un navegador web.)


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.