¿Cómo configurar la dirección proxy HTTP para wget en Windows?

11

Si se ejecutó sin parámetros mis wgetimpresiones:

D:\>wget
SYSTEM_WGETRC = c:/progra~1/wget/etc/wgetrc
syswgetrc = c:/progra~1/wget/etc/wgetrc
D:\Apps\Util\wget: missing URL
Usage: D:\Apps\Util\wget [OPTION]... [URL]...

Try `D:\Apps\Util\wget --help' for more options.

Esto probablemente significa, que es miradas de archivo wgetrcen c:/progra~1/wget/etc/wgetrc. Desafortunadamente, esta ubicación no está disponible para programas no root. Estaba pensando que puedo modificar SYSTEM_WGETRCo syswgetrclas variables de entorno, pero esto parece no tener efecto

D:\>echo %SYSTEM_WGETRC%
d:\apps\util\wgetrc

D:\>echo %syswgetrc%
D:\APPS\Util\wgetrc
Suzan Cioc
fuente
Ay eso es tan raro. ¿Por qué avanzas barras diagonales c: /? Debería ser C: \
barlop el
También es gracioso que tu wget te cuente sobre wgetrc, el mío no. Quizás tengamos una configuración diferente. ¿Pero qué versión de wget tienes?
barlop

Respuestas:

10

wget --helpno te dice mucho Para obtener más detalles, puede consultar el manual de wget en línea o el manual de wget (son cosas diferentes, a menudo vale la pena consultar cada una)

En resumen, aquí hay un ejemplo

C:\sdf>wget -e http_proxy=127.0.0.1:8118 www.google.com

y otro

C:\sdf>set http_proxy=127.0.0.1:8118
C:\sdf>wget www.google.com

El manual menciona wgetrccomandos . Verá algunas cosas sobre los servidores proxy http enumerados allí.

6.3 Comandos Wgetrc

  • http_proxy = string
    Utilice una cadena como proxy http, en lugar del especificado en el entorno.
  • https_proxy = string
    Use una cadena como proxy https, en lugar del especificado en el entorno.

8.1 Proxies

Wget admite proxies para las recuperaciones http y ftp. La forma estándar de especificar la ubicación del proxy, que Wget reconoce, es usar las siguientes variables de entorno:

  • http_proxy
  • https_proxy
    Si se establece, las variables http_proxy y https_proxy deben contener las URL de los proxies para conexiones http y https respectivamente.

adicional

En cuanto a la página de manual de wget y el "manual de wget".

Las páginas de manual en la línea de comando están actualizadas, pero el manual (una entidad diferente de la página de manual) no siempre es una versión actualizada de wget. Al momento de escribir (septiembre de 2015) lo es. http://www.gnu.org/software/wget/manual/wget.html Puede ver la versión en la parte superior y verificar si es la última http://ftp.gnu.org/gnu/wget/ muestra las fechas también. (Usted ve en archive.org que, por ejemplo, en noviembre de 2013, el manual de GNU estaba muy desactualizado. En noviembre de 2013, incluso en marzo de 2014, todavía mostraban wget 1.13.4, que era de 2011)

Para la página de manual, si está comprobando desde la línea de comandos, entonces debe ser la versión que está utilizando para que pueda estar bien allí solo asegurándose de que su comando esté actualizado / actualizado. Es posible que desee verificar que la / cualquier fuente en línea que esté utilizando muestre la última página de manual. Este parece estar bien https://www.kernel.org/doc/man-pages/ enlaces a http://man7.org/linux/man-pages/man1/wget.1.html También puede consultar la versión allí contra el enlace ftp para asegurarse de que sea la última versión.

barlop
fuente
En diciembre de 2013, fue el caso de que man wget tuviera una versión más reciente que la página web. por ejemplo, --content-on-error estaba en esa página de wget man de 2013, pero no en el manual en línea de wget que enumera las opciones. Entonces la página web no siempre está actualizada. Aunque como se menciona en mi respuesta, a partir de septiembre de 2015, la página web está actualizada.
barlop
1

Creo que solo quieres establecer la HTTP_PROXYvariable de entorno.

De: http://www.gnu.org/software/wget/manual/html_node/Proxies.html :

Wget admite proxies para las recuperaciones http y ftp. La forma estándar de especificar la ubicación del proxy, que Wget reconoce, es usar las siguientes variables de entorno:

http_proxy
https_proxy

Si se establece, las variables http_proxy y https_proxy deben contener las URL de los proxies para conexiones http y https respectivamente.

ckhan
fuente
1

La respuesta de barlop en general está bien, pero algunos comentarios:

en la línea de comando dos / windows o archivo por lotes, especifique

set http[s]_proxy=http[s]://proxyserver:port/

entonces wget funciona bien.

por lo general, también tomará sus credenciales de inicio de sesión único de Windows si se encuentra en una red de la empresa con autenticación NTLM contra el proxy (no es necesario molestarse con el dominio - barra diagonal inversa - usuario)

steinweb
fuente