¿Cómo fuerzo a wget a usar un servidor proxy sin modificar los archivos del sistema?

23

Me gustaría saber un equivalente a wget que me permita configurar el proxy mientras llamo al comando (like wget --proxy=$http_proxy).

Algunas ideas ?

fxm
fuente

Respuestas:

25

Sin modificar los archivos de su sistema /etc/wgetrc, puede crear un archivo en su directorio de inicio ~/.wgetrc. Le permitirá modificar la configuración de wget localmente a nivel de usuario. Ahora escriba lo siguiente en ~/.wgetrcpara usar wget detrás de un servidor proxy:

use_proxy = on
http_proxy =  http://username:[email protected]:port/
https_proxy =  http://username:[email protected]:port/
ftp_proxy =  http://username:[email protected]:port/

Si no tiene nombre de usuario y contraseña de proxy, simplemente escriba la dirección de proxy y el puerto en todas partes como,

http_proxy =  http://proxy.server.address:port/

Esto debería funcionar. Supongo que ya tiene configuraciones de proxy para todas las demás aplicaciones.

souravc
fuente
38

La -eopción le permite proporcionar comandos como en wgetrc en la línea de comandos para que no necesite cambiar un archivo ...

wget -e use_proxy=yes -e http_proxy=$proxy http://askubuntu.com
jhs
fuente
Brillante. Has ahorrado muchos problemas, tan simple como es esta respuesta.
Comodín el
¿Cómo lo apago?
Tessaracter
3

Necesita editar el wgetrcarchivo ubicado en /etc/wgetrc.

Use su editor de texto favorito, es decir: nano /etc/wgetrcpara editarlo

Busque la etiqueta http_proxy y elimine el # delante de ella, agregue el servidor proxy después del signo = , es decir:

http_proxy=http://foo.proxy:8080

Luego busque la etiqueta use_proxy y elimine el # delante de ella, guarde el archivo.

wget luego usará el servidor proxy especificado.

Si no puede cambiar la configuración del sistema con su usuario, puede copiar la configuración actual en un lugar donde pueda editarla, es decir: cp /etc/wgetrc ~y usar la --config=~/wgetrcopción para obligar a wget a usar la configuración que modificó en lugar de la configuración global.

Bruno Pereira
fuente
Soy consciente de esta posibilidad, pero no puedo modificar los archivos de configuración.
fxm
Piensa que esta es la única opción que tienes con wget.
Bruno Pereira
Es por eso que estoy buscando un equivalente de wget como indiqué en el título.
fxm
He editado el título para reflejar que, en primer lugar, estaba claro lo que intentabas hacer.
Bruno Pereira
Verifique el último párrafo de la respuesta.
Bruno Pereira
1

Opción que no se menciona, pero debe mencionarse: Use variables ambientales (dependiendo de su distribución):

http_proxy=http://<proxy-server-ip>:<port>
export http_proxy

o simplemente

export http_proxy=http://<proxy-server-ip>:<port>

Igual por:

https_proxy=http://<proxy-server-ip>:<port>
ftp_proxy=http://<proxy-server-ip>:<port>

Puede incluir un nombre de usuario y una contraseña; si tiene caracteres especiales en su contraseña, asegúrese de incluir los '-s.

http_proxy='http://<username>:<password>@<proxy-server-ip>:<port>'

Ejemplos:

export http_proxy=http://172.16.1.100:8080
export https_proxy='http://johndoe:[email protected]:8080'
gjs
fuente
1

Desde la línea de comando solo he encontrado el éxito que precede al wgetcomando con la http_proxyinformación sin la necesidad de usar las variables de entorno. Por ejemplo:

'$ http_proxy=<proxy-server-ip>:<port> wget http://www.example.com/'
usuario819727
fuente