J'ai une URL comme celle-ci:
http://dl.minitoons.ir/longs/Khumba (2013) [EN] [BR-Rip 720p] - [www.minitoons.ir].rar
Je souhaite télécharger cette URL à l'aide de wget
. Si je le passe directement à wget
, tout se passe bien. Mais je suis dans une situation où je n'ai que les versions codées des URL de téléchargement. Si je transmets la version codée de l'URL ci-dessus à wget
, cela génère l'erreur suivante:
$ wget "http%3A%2F%2Fdl.minitoons.ir%2Flongs%2FKhumba%20(2013)%20%5BEN%5D%20%5BBR-Rip%20720p%5D%20-%20%5Bwww.minitoons.ir%5D.rar"
wget: unable to resolve host address `http://dl.minitoons.ir/longs/khumba (2013) [en] [br-rip 720p] - [www.minitoons.ir].rar'
Notez que wget
la casse de l'URL a changé (par exemple Khumba
en khumba
). Que dois-je faire pour résoudre ce problème?
python -c 'import urllib2; print urllib2.unquote("'${URL}'")'
fait à peu près la même chose, si vous mettez votre URL dans l'URL de variable d'environnement.Vous devez l'utiliser comme ceci
Remplacez simplement chaque espace par
%20
. Ou mieux copiez votre lien d'origine et collez-le dans la barre d'adresse du navigateur Chromium. Il le formatera automatiquement pour vous. Copiez-le à partir de là vers votre terminal.la source
[Ctrl]+[Shift]+[J]
(pour la console de développement) et d'insérerdecodeURIComponent("your-decoded-URI")
.Wget s'attend à ce que l'URL ait le format suivant:
Le protocole est facultatif. En l'absence de protocole , Wget suppose HTTP.
Wget accepte très bien les URL encodées en pourcentage, mais les délimiteurs entre le protocole , l' hôte et le chemin ne peuvent pas être encodés en pourcentage.
C'est aussi pourquoi Wget a changé le boîtier de l'URL. Puisqu'il n'a trouvé aucune barre oblique non codée, il suppose que
est le nom d'hôte (qui ne respecterait pas la casse). Le nom d' hôte est, bien sûr,
dl.minitoons.ir
.Pour une solution automatique, remplacer
%3A%2F%2F
et%2F
après le nom d'hôte par://
et/
suffirait, mais il est tout aussi facile de décoder l'URL à la fois. @Wilf a déjà donné une bonne solution pour cela.Cependant, si vous allez taper manuellement la commande Wget, procédez comme suit:
la source
Il vous suffit de mettre des guillemets autour de l'url et de faire:
C'est plus facile de cette façon et vous n'avez pas à vous embarrasser avec des trucs.
la source
J'ai fini par écrire un script python pour cela.
la source