¿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 ?

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:password@proxy.server.address:port/
https_proxy =  http://username:password@proxy.server.address:port/
ftp_proxy =  http://username:password@proxy.server.address: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.


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

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.


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:ABC!123@172.16.1.100:8080'

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/'
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.