En l'absence d'une réponse d'une autre personne, voici ce que j'ai découvert, j'espère que cela sera utile pour quelqu'un d'autre.
Résumé exécutif:
- Téléchargez curl activé SSPI depuis http://curl.haxx.se/latest.cgi?curl=win32-ssl en changeant pour Windows, zip, SSL-enabled, SSPI-enabled (7.19.5).
- Installez Windows Open-SSL depuis http://www.slproweb.com/products/Win32OpenSSL.html et faites un don pour soutenir ses coûts de bande passante.
- Installez les redistribuables Visual C++ 2008 si vous en avez besoin.
- Utilisez curl pour récupérer la page:
curl.exe -U : --proxy-ntlm --proxy myproxy.com:8080 http://www.google.com
Explication plus détaillée
La phrase magique pour l'authentification en utilisant le mécanisme de connexion Windows est SSPI. Cela donne une bonne phrase de recherche sur Google. Je n'ai toujours pas trouvé de bonne manière d'utiliser SSPI pour l'authentification de proxy HTTP en java ou wget cependant.
Cependant, curl (l'outil de téléchargement) supporte SSPI mais uniquement dans certaines versions. Malheureusement, la version par défaut de cygwin n'en fait pas partie. Vous pouvez savoir si votre version de curl supporte SSPI en obtenant les informations de version verbose :
curl -v -V
Si SSPI est supporté, cela sera mentionné dans la ligne des fonctionnalités.
Pour obtenir une version Windows qui supporte SSPI, j'ai dû aller sur http://curl.haxx.se/latest.cgi?curl=win32-ssl puis changer le choix de téléchargement à Windows, zip, SSL-enabled, SSPI-enabled (7.19.5). Au moment où vous lirez ceci, le numéro de version aura peut-être changé.
Cela a échoué silencieusement en ligne de commande. Lorsque j'ai exécuté depuis l'explorateur Windows, j'ai reçu un message à propos d'un libeay32.dll manquant. Une manière de l'obtenir depuis Windows est depuis le seul lien sur openssl.org vers une version Windows. Le producteur de cela demande un don pour couvrir les coûts de bande passante. Une autre manière serait de construire votre propre version depuis les sources.
Et après tout cela, curl a fonctionné avec la commande suivante :
curl.exe -U : --proxy-ntlm --proxy myproxy.com:8080 http://www.google.com
Le -U :
configure aucun mot de passe, les autres options de ligne de commande configurent le proxy. Vous devrez probablement changer vos paramètres de proxy et de port.
Tout cela serait bien plus facile si seulement la version curl de cygwin supportait SSPI. Je vais faire une demande à ce sujet maintenant.