Como definir o endereço de proxy http para o wget no windows?

11

Se executado sem parâmetros, minhas wgetimpressões:

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.

Isso provavelmente significa que é olhares para o arquivo wgetrcno c:/progra~1/wget/etc/wgetrc. Infelizmente, este local não está disponível para programas não raiz. Eu estava pensando que posso modificar SYSTEM_WGETRCou syswgetrcvariáveis ​​de ambiente, mas isso parece não ter efeito

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

D:\>echo %syswgetrc%
D:\APPS\Util\wgetrc
Suzan Cioc
fonte
Ai, isso é tão estranho. Por que você avança barras c: /? Deveria ser C: \
barlop 01/01
Também engraçado que o seu wget fale sobre o wgetrc, o meu não. Talvez tenhamos alguma configuração diferente. Mas qual versão do wget você possui?
barlop

Respostas:

10

wget --helpnão lhe diz muito. Para mais detalhes, você pode consultar o manual do wget on - line ou man wget (são coisas diferentes, geralmente vale a pena conferir cada)

Em suma, aqui está um exemplo

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

e outro

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

O manual menciona wgetrccomandos . Você vê algumas coisas sobre proxies http listados lá.

6.3 Comandos Wgetrc

  • http_proxy = string
    Use a string como proxy http, em vez da especificada no ambiente.
  • https_proxy = string
    Use a string como proxy https, em vez da especificada no ambiente.

8.1 Proxies

O Wget suporta proxies para recuperações http e ftp. A maneira padrão de especificar o local do proxy, que o Wget reconhece, está usando as seguintes variáveis ​​de ambiente:

  • http_proxy
  • https_proxy
    Se definido, as variáveis ​​http_proxy e https_proxy devem conter os URLs dos proxies para conexões http e https, respectivamente.

adicionado

Em relação à página de manual do wget e ao "manual do wget".

As páginas de manual na linha de comando estão atualizadas, mas o manual (uma entidade diferente da página de manual) nem sempre é uma versão atualizada do wget. No momento da redação (setembro de 2015), é. http://www.gnu.org/software/wget/manual/wget.html Você pode ver a versão na parte superior e verificar se é a última http://ftp.gnu.org/gnu/wget/ que mostra as datas também. (Você vê no archive.org que, por exemplo, em novembro de 2013, o manual do gnu estava muito desatualizado. Em novembro de 2013 até março de 2014, eles ainda estavam mostrando o wget 1.13.4, que era de 2011)

Para a página de manual, se você estiver verificando a partir da linha de comando, deve ser a versão que está usando, para que possa ficar bem lá, apenas certificando-se de que seu comando esteja atualizado / atualizando-o. Você pode querer verificar se a / qualquer fonte online que você está usando está mostrando a página de manual mais recente. Este parece ótimo https://www.kernel.org/doc/man-pages/ links para http://man7.org/linux/man-pages/man1/wget.1.html Você também pode verificar a versão lá no link ftp para garantir que seja a versão mais recente.

barlop
fonte
Em dezembro de 2013, foi o caso do man wget ter uma versão mais recente que a página da web. por exemplo, --content-on-error estava na página do man wget de 2013, mas não no manual on-line do wget que lista as opções. Portanto, a página da web nem sempre está atualizada. Embora, conforme mencionado na minha resposta, em setembro de 2015, a página da Web esteja atualizada.
barlop 22/09/15
1

Eu acho que você só quer definir a HTTP_PROXYvariável de ambiente.

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

O Wget suporta proxies para recuperações http e ftp. A maneira padrão de especificar o local do proxy, que o Wget reconhece, está usando as seguintes variáveis ​​de ambiente:

http_proxy
https_proxy

Se definido, as variáveis ​​http_proxy e https_proxy devem conter os URLs dos proxies para conexões http e https, respectivamente.

ckhan
fonte
1

A resposta de Barlop em geral é boa, mas alguns comentários:

na linha de comando dos / windows ou no arquivo em lotes, você especifica

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

então o wget funciona bem.

normalmente, também serão necessárias credenciais de logon único para o Windows se você estiver em uma rede da empresa com autenticação NTLM contra o proxy (não é necessário se preocupar com o domínio - barra invertida - usuário)

steinweb
fonte