web-dev-qa-db-fra.com

Comment définir l'adresse proxy http pour wget sous Windows?

Si exécuté sans paramètres mon wget imprime:

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.

Cela signifie probablement que le fichier wgetrc se trouve dans c:/progra~1/wget/etc/wgetrc. Malheureusement, cet emplacement n'est pas disponible pour les programmes non root. Je pensais pouvoir modifier les variables d'environnement SYSTEM_WGETRC ou syswgetrc, mais cela ne semble pas avoir d'effet

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

D:\>echo %syswgetrc%
D:\APPS\Util\wgetrc
11
Suzan Cioc

wget --help ne vous dit pas grand chose. Pour plus de détails, vous pouvez consulter le manuel en ligne wget ou man wget (ce sont des choses différentes, cela vaut souvent la peine de vérifier chacune d'elles)

En bref, voici un exemple

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

et un autre

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

Le manuel mentionne les commandes wgetrc . Vous voyez certaines choses sur les serveurs proxy http énumérées ici.

6.3 Commandes Wgetrc

  • http_proxy = string
    Utilise la chaîne en tant que proxy http au lieu de celle spécifiée dans l'environnement.
  • https_proxy = string
    Utilise la chaîne comme proxy https au lieu de celui spécifié dans l'environnement.

8.1 Les procurations

Wget prend en charge les mandataires pour les récupérations http et ftp. Le moyen standard de spécifier l'emplacement du proxy, reconnu par Wget, consiste à utiliser les variables d'environnement suivantes:

  • http_proxy
  • https_proxy
    Si elles sont définies, les variables http_proxy et https_proxy doivent contenir les adresses URL des mandataires pour les connexions http et https, respectivement.

ajouté

Concernant la page de manuel wget et le "manuel wget".

Les pages de manuel sur la ligne de commande sont à jour, mais le manuel (une entité différente de la page de manuel) n'est pas toujours une version wget à jour. Au moment de l'écriture (septembre 2015), c'est le cas. http://www.gnu.org/software/wget/manual/wget.html Vous pouvez voir la version en haut et vérifier si elle est la dernière http: // ftp. gnu.org/gnu/wget/ il affiche aussi les dates. (Vous voyez sur archive.org que, par exemple, en novembre 2013, le manuel GNU était très obsolète. En novembre 2013, même en mars 2014, ils affichaient toujours wget 1.13.4, datant de 2011)

Pour la page de manuel, si vous vérifiez depuis la ligne de commande, il doit s'agir de la version que vous utilisez pour que tout se passe bien, en vous assurant simplement que votre commande est à jour/mise à jour. Vous voudrez peut-être vérifier que la/toutes les sources en ligne que vous utilisez affiche la dernière page de manuel. Celui-ci semble bien https://www.kernel.org/doc/man-pages/ liens vers http://man7.org/linux/man-pages/man1/wget .1.html Vous pouvez également vérifier la version à l’aide du lien ftp pour vous assurer que c’est la dernière version.

10
barlop

Je pense que vous voulez juste définir la variable d’environnement HTTP_PROXY.

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

Wget prend en charge les mandataires pour les récupérations http et ftp. Le moyen standard de spécifier l'emplacement du proxy, reconnu par Wget, consiste à utiliser les variables d'environnement suivantes:

http_proxy
https_proxy

Si elles sont définies, les variables http_proxy et https_proxy doivent contenir les adresses URL des mandataires pour les connexions http et https, respectivement.

1
ckhan

la réponse de barlop en général est bonne, mais quelques commentaires:

sur la ligne de commande dos/windows ou le fichier de commandes, vous spécifiez

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

alors wget fonctionne bien.

si vous êtes dans un réseau d’entreprise avec une authentification NTLM auprès du proxy (il n’est pas nécessaire de vous ennuyer avec domain - backslash - user)

1
steinweb