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

11

Si exécuté sans paramètres mes wgetimpressions:

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, c'est-à-dire recherche un fichier wgetrcdans c:/progra~1/wget/etc/wgetrc. Malheureusement, cet emplacement n'est pas disponible pour les programmes non root. Je pensais que je peux modifier SYSTEM_WGETRCou syswgetrcvariables d'environnement, mais cela semble avoir aucun effet

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

D:\>echo %syswgetrc%
D:\APPS\Util\wgetrc
Suzan Cioc
la source
Aïe c'est tellement bizarre. Pourquoi obtenez-vous des barres obliques c: /? Ce devrait être C: \
barlop
aussi drôle que votre wget vous parle de wgetrc, le mien ne le fait pas. Peut-être que nous avons un réglage différent. Mais quelle version de wget avez-vous?
barlop

Réponses:

10

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

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 wgetrccommandes . Vous voyez certaines choses sur les proxys http qui y sont listées.

6.3 Commandes Wgetrc

  • http_proxy = string
    Utilisez la chaîne comme proxy http, au lieu de celle spécifiée dans l'environnement.
  • https_proxy = string
    Utilisez la chaîne comme proxy https, au lieu de celle spécifiée dans l'environnement.

8.1 Procurations

Wget prend en charge les proxys pour les récupérations http et ftp. La manière standard de spécifier l'emplacement du proxy, que Wget reconnaît, utilise les variables d'environnement suivantes:

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

ajoutée

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

Les pages de manuel de 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), il l'est. http://www.gnu.org/software/wget/manual/wget.html Vous pouvez voir la version en haut et vérifier s'il s'agit de la dernière http://ftp.gnu.org/gnu/wget/ elle affiche les dates aussi. (Vous voyez sur archive.org qu'en novembre 2013, par exemple, le manuel gnu était très obsolète. En novembre 2013, même en mars 2014, ils montraient toujours wget 1.13.4 qui date de 2011)

Pour la page de manuel, si vous effectuez une vérification à partir de la ligne de commande, il doit s'agir de la version que vous utilisez afin que vous puissiez y aller en vous assurant simplement que votre commande est à jour / mise à jour. Vous pouvez vérifier que la / toute source 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 ici contre le lien ftp pour vous assurer qu'il s'agit de la dernière version.

barlop
la source
En décembre 2013, il était vrai que man wget avait une version plus récente que la page Web. Par exemple, --content-on-error était sur cette page man wget 2013, mais pas sur le manuel en ligne wget qui répertorie les options. La page Web n'est donc pas toujours à jour. Bien que, comme mentionné dans ma réponse, en septembre 2015, la page Web est à jour.
barlop
1

Je pense que vous voulez simplement définir la HTTP_PROXYvariable d'environnement.

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

Wget prend en charge les proxys pour les récupérations http et ftp. La manière standard de spécifier l'emplacement du proxy, que Wget reconnaît, utilise les variables d'environnement suivantes:

http_proxy
https_proxy

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

ckhan
la source
1

la réponse de barlop en général est très bien, mais quelques commentaires:

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

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

alors wget fonctionne très bien.

il faudra généralement également vos informations d'authentification unique Windows si vous êtes dans un réseau d'entreprise avec une authentification NTLM contre le proxy (pas besoin de se tracasser avec le domaine - barre oblique inverse - utilisateur)

Steinweb
la source