Comment définir un proxy pour wget?

224

Je veux télécharger quelque chose en wgetutilisant 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?

Hakim
la source
15
Hakim - J'ai remarqué que vous n'avez accepté aucune des réponses. Est-ce à dire qu'ils ont tort et que je ne devrais pas suivre les conseils donnés? Si oui, avez-vous résolu le problème avec autre chose?
JWW

Réponses:

413

Pour tous les utilisateurs du système via /etc/wgetrcou pour l'utilisateur uniquement avec le ~/.wgetrcfichier:

use_proxy=yes
http_proxy=127.0.0.1:8080
https_proxy=127.0.0.1:8080

ou via des -eoptions placées après l'URL:

wget ... -e use_proxy=yes -e http_proxy=127.0.0.1:8080 ...
amaksr
la source
4
Mon wget dit que ça doit l'être use_proxy=on, non use_proxy=yes. Fonctionne bien sinon.
barfuin
4
Vérifié. Il fonctionne avec wget -e <http_proxy> = 127.0.0.01: 8080 < download > ..., en omettant le paramètre de commande "use_proxy = yes". Merci!
alejandrob du
3
@Thomas Jensen Vous avez raison, le manuel wgetrc stipule que cela devrait être onou off, mais en réalité, essayer une fausse commande: -e use_proxy=bnwdonne wget: use_proxy: Invalid boolean ‘bnw’; use 'on' or 'off'.tandis =yesne donne pas une telle erreur, donc il semble être officieusement autorisé.
mxmlnkn
1
http_proxy=http://<user>:<password>@127.0.01:8080et également. sinon, vous devrez peut-être les alimenter explicitement lors de l'appel du wget (voir - askubuntu.com/a/429943/350255 )
parasrish
1
Comment puis-je l'éteindre?
Tessaracter
83

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.

shivshnkr
la source
Comment supprimer le proxy
Tessaracter
1
$ unset http_proxy
shivshnkr
38

les configurations possibles suivantes sont situées dans /etc/wgetrcjuste 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
hovanessyan
la source
19

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"
juan_liga
la source
Cela a également aidé les homebrews!
Miao1007
16

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, remplacer passw@rdpar passw%40rd).

Janderson Silva
la source
5

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!

a1an
la source
3
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%23123dans les commandes d'exportation ci-dessus.

rashok
la source
2

Sous Windows - pour Fiddler, par exemple - en utilisant des variables d'environnement:

set http_proxy=http://127.0.0.1:8888
set https_proxy=http://127.0.0.1:8888
décret
la source
2

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
jplandrain
la source
0

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/

Vinoj John Hosan
la source
0

commencer par wget socks5 proxy à l' aide tsocks :

  1. installer tsocks: sudo apt install tsocks
  2. config tsocks

    # vi /etc/tsocks.conf
    
    server = 127.0.0.1
    server_type = 5
    server_port = 1080
  3. début: tsocks wget http://url_to_get
cggos
la source