¿Cómo configurar proxy para wget?

224

Quiero descargar algo wgetusando un proxy:

HTTP Proxy: 127.0.0.1
Port: 8080

El proxy no necesita nombre de usuario y contraseña.

¿Cómo puedo hacer esto?

Hakim
fuente
15
Hakim: me di cuenta de que no aceptabas ninguna de las respuestas. ¿Eso significa que están equivocados y que no debo seguir los consejos dados? Si es así, ¿resolvió el problema con otra cosa?
jww

Respuestas:

413

Para todos los usuarios del sistema a través de /etc/wgetrco para el usuario solo con el ~/.wgetrcarchivo:

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

o mediante -eopciones colocadas después de la URL:

wget ... -e use_proxy=yes -e http_proxy=127.0.0.1:8080 ...
amaksr
fuente
44
Mi wget dice que debe ser use_proxy=on, no use_proxy=yes. Funciona bien de lo contrario.
barfuin
44
Comprobado. Funciona con wget -e <http_proxy> = 127.0.0.01: 8080 < descarga > ..., omitiendo el parámetro de comando "use_proxy = yes". ¡Gracias!
alejandrob
3
@Thomas Jensen Tiene razón, el manual wgetrc dice que debería ser ono off, pero en realidad está intentando un comando falso: -e use_proxy=bnwda wget: use_proxy: Invalid boolean ‘bnw’; use 'on' or 'off'.mientras =yesno da tal error, por lo que parece que está permitido oficialmente.
mxmlnkn
1
http_proxy=http://<user>:<password>@127.0.01:8080y de la misma manera. de lo contrario, puede que tenga que alimentarlos explícitamente mientras llama al wget (consulte - askubuntu.com/a/429943/350255 )
parasite
1
¿Cómo lo apago?
Tessaracter
83

Escriba en la línea de comando:

$ export http_proxy=http://proxy_host:proxy_port

para proxy autenticado,

$ export http_proxy=http://username:password@proxy_host:proxy_port

y luego correr

$ wget fileurl

para https, solo use https_proxy en lugar de http_proxy. También puede poner estas líneas en su archivo ~ / .bashrc para que no necesite ejecutar esto cada vez.

shivshnkr
fuente
Cómo eliminar el proxy
Tessaracter
1
$ unset http_proxy
shivshnkr
38

las siguientes configuraciones posibles se encuentran en /etc/wgetrcsolo comentar y usar ...

# 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
fuente
19

wget usa variables de entorno como esta en la línea de comando puede funcionar:

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
fuente
¡También ayudó en homebrew!
Miao1007
16

Después de probar muchos tutoriales para configurar mi Ubuntu 16.04 LTS detrás de un proxy autenticado, funcionó con estos pasos:

Editar /etc/wgetrc:

$ sudo nano /etc/wgetrc

Descomente estas líneas:

#https_proxy = http://proxy.yoyodyne.com:18023/
#http_proxy = http://proxy.yoyodyne.com:18023/
#ftp_proxy = http://proxy.yoyodyne.com:18023/
#use_proxy = on

Cambiar http://proxy.yoyodyne.com:18023/ahttp://username:password@domain:port/

IMPORTANTE: Si aún así no funciona, compruebe si su contraseña tiene caracteres especiales, como #, @, ... Si este es el caso, escapar de ellos (por ejemplo, sustituir passw@rdcon passw%40rd).

Janderson Silva
fuente
5

En Debian Linux, wget se puede configurar para usar un proxy tanto a través de variables de entorno como a través de wgetrc. En ambos casos, los nombres de las variables que se utilizarán para las conexiones HTTP y HTTPS son

http_proxy=hostname_or_IP:portNumber
https_proxy=hostname_or_IP:portNumber

Tenga en cuenta que el archivo / etc / wgetrc tiene prioridad sobre las variables de entorno, por lo tanto, si su sistema tiene un proxy configurado allí e intenta utilizar las variables de entorno, ¡parecería que no tienen efecto!

a1an
fuente
3
export http_proxy=http://proxy_host:proxy_port/
export https_proxy=https://proxy_host:proxy_port/

o

export http_proxy=http://username:password@proxy_host:proxy_port/
export https_proxy=https://username:password@proxy_host:proxy_port/

Como todos los demás explicaron aquí, esta variable de entorno ayuda a transmitir proxies.

Nota: Pero, por favor, no si la contraseña contiene algún carácter especial, entonces debe configurarse como %<hex_value_of_special_char>.

Ejemplo: si la contraseña es pass#123, debe usarse como pass%23123en los comandos de exportación anteriores.

rashok
fuente
2

En Windows, para Fiddler, por ejemplo, usando variables de entorno:

set http_proxy=http://127.0.0.1:8888
set https_proxy=http://127.0.0.1:8888
fíat
fuente
2

Si necesita ejecutar wget solo una vez con el proxy, la forma más fácil es hacerlo con una línea como esta:

http_proxy=http://username:password@proxy_host:proxy_port wget http://fileurl

o con una URL de destino https:

https_proxy=http://username:password@proxy_host:proxy_port wget https://fileurl
jplandrain
fuente
0

Inicie wget a través del proxy socks5 usando tsocks :

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

    # vi /etc/tsocks.conf
    
    server = 127.0.0.1
    server_type = 5
    server_port = 1080
  3. comienzo: tsocks wget http://url_to_get
cggos
fuente