Je veux télécharger quelque chose en wget
utilisant un proxy:
HTTP Proxy: 127.0.0.1
Port: 8080
Le proxy n'a pas besoin de nom d'utilisateur et de mot de passe.
Comment puis-je faire ceci?
Je veux télécharger quelque chose en wget
utilisant un proxy:
HTTP Proxy: 127.0.0.1
Port: 8080
Le proxy n'a pas besoin de nom d'utilisateur et de mot de passe.
Comment puis-je faire ceci?
Réponses:
Pour tous les utilisateurs du système via /etc/wgetrc
ou pour l'utilisateur uniquement avec le ~/.wgetrc
fichier:
use_proxy=yes
http_proxy=127.0.0.1:8080
https_proxy=127.0.0.1:8080
ou via des -e
options placées après l'URL:
wget ... -e use_proxy=yes -e http_proxy=127.0.0.1:8080 ...
use_proxy=on
, non use_proxy=yes
. Fonctionne bien sinon.
on
ou off
, mais en réalité, essayer une fausse commande: -e use_proxy=bnw
donne wget: use_proxy: Invalid boolean ‘bnw’; use 'on' or 'off'.
tandis =yes
ne donne pas une telle erreur, donc il semble être officieusement autorisé.
http_proxy=http://<user>:<password>@127.0.01:8080
et également. sinon, vous devrez peut-être les alimenter explicitement lors de l'appel du wget (voir - askubuntu.com/a/429943/350255 )
Tapez en ligne de commande:
$ export http_proxy=http://proxy_host:proxy_port
pour un proxy authentifié,
$ export http_proxy=http://username:password@proxy_host:proxy_port
puis exécutez
$ wget fileurl
pour https, utilisez simplement https_proxy au lieu de http_proxy. Vous pouvez également mettre ces lignes dans votre fichier ~ / .bashrc afin que vous n'ayez pas besoin de l'exécuter à chaque fois.
les configurations possibles suivantes sont situées dans /etc/wgetrc
juste décommenter et utiliser ...
# You can set the default proxies for Wget to use for http, https, and ftp.
# They will override the value in the environment.
#https_proxy = http://proxy.yoyodyne.com:18023/
#http_proxy = http://proxy.yoyodyne.com:18023/
#ftp_proxy = http://proxy.yoyodyne.com:18023/
# If you do not want to use proxy at all, set this to off.
#use_proxy = on
wget utilise des variables d'environnement quelque chose comme ça en ligne de commande peut fonctionner:
export http_proxy=http://your_ip_proxy:port/
export https_proxy=$http_proxy
export ftp_proxy=$http_proxy
export dns_proxy=$http_proxy
export rsync_proxy=$http_proxy
export no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"
Après avoir essayé de nombreux tutoriels pour configurer mon Ubuntu 16.04 LTS derrière un proxy authentifié, cela a fonctionné comme suit:
Modifier /etc/wgetrc
:
$ sudo nano /etc/wgetrc
Décommentez ces lignes:
#https_proxy = http://proxy.yoyodyne.com:18023/
#http_proxy = http://proxy.yoyodyne.com:18023/
#ftp_proxy = http://proxy.yoyodyne.com:18023/
#use_proxy = on
Remplacer http://proxy.yoyodyne.com:18023/
parhttp://username:password@domain:port/
IMPORTANT: Si elle ne fonctionne toujours pas, vérifiez si votre mot de passe contient des caractères spéciaux, tels que
#
,@
... Si tel est le cas, leur échapper (par exemple, remplacerpassw@rd
parpassw%40rd
).
Dans Ubuntu 12.x, j'ai ajouté les lignes suivantes dans $ HOME / .wgetrc
http_proxy = http: // uname: passwd@proxy.blah.com: 8080
use_proxy = on
Dans mon ubuntu, les lignes suivantes dans $ HOME / .wgetrc ont fait l'affaire!
http_proxy = http: // uname: passwd@proxy.blah.com: 8080
use_proxy = on
Dans Debian Linux, wget peut être configuré pour utiliser un proxy à la fois via des variables d'environnement et via wgetrc. Dans les deux cas, les noms de variables à utiliser pour les connexions HTTP et HTTPS sont
http_proxy=hostname_or_IP:portNumber
https_proxy=hostname_or_IP:portNumber
Notez que le fichier / etc / wgetrc a priorité sur les variables d'environnement, donc si votre système a un proxy configuré là-bas et que vous essayez d'utiliser les variables d'environnement, elles sembleraient n'avoir aucun effet!
export http_proxy=http://proxy_host:proxy_port/
export https_proxy=https://proxy_host:proxy_port/
ou
export http_proxy=http://username:password@proxy_host:proxy_port/
export https_proxy=https://username:password@proxy_host:proxy_port/
Comme toutes les autres expliquées ici, ces variables d'environnement permettent de transmettre des proxys.
Remarque: mais veuillez noter que si le mot de passe contient un caractère spécial, celui-ci doit être configuré en tant que %<hex_value_of_special_char>
.
Exemple: Si le mot de passe est pass#123
, doit être utilisé comme pass%23123
dans les commandes d'exportation ci-dessus.
Si vous devez exécuter wget une seule fois avec le proxy, le plus simple est de le faire avec une seule ligne comme celle-ci:
http_proxy=http://username:password@proxy_host:proxy_port wget http://fileurl
ou avec une URL cible https:
https_proxy=http://username:password@proxy_host:proxy_port wget https://fileurl
Ajoutez les lignes ci-dessous dans le fichier ~ / .wgetrc ou / etc / wgetrc (créez le fichier s'il n'est pas là):
http_proxy = http://[Proxy_Server]:[port]
https_proxy = http://[Proxy_Server]:[port]
ftp_proxy = http://[Proxy_Server]:[port]
Pour plus d'informations, https://www.thegeekdiary.com/how-to-use-wget-to-download-file-via-proxy/