2009-01-19 9 views
4

J'ai une fonction relativement simple qui utilise la classe WebClient pour effectuer un POST HTTPS sur un serveur Web. Ce code fonctionne de manière fiable, mais rencontre des problèmes lors de l'utilisation de la fonction accélérateur de téléchargement EarthLink ou AT &.Paramètres WebClient vs. Proxy - ou amusants avec les accélérateurs de téléchargement

L'accélérateur de téléchargement fonctionne en modifiant les paramètres proxy de la connexion d'accès à distance pour spécifier localhost: 8080 pour le protocole HTTP uniquement. Dans cette configuration , il est probable que le protocole HTTPS ne devrait pas être affecté. En fait, lors de l'utilisation d'Internet Explorer pour naviguer vers https://www.wellsfargo.com, il n'est pas une erreur.

Cependant, lors de l'utilisation de .NET 2.0 (ou 3.5), la classe WebClient ne parvient pas à exécuter un simple GET HTTPS de https://www.wellsfargo.com dans cette configuration.

En tant que test simple, je fais ce qui suit:

Spécifiez une configuration de proxy LAN avancé où:

adresse HTTP: buter: 8080

Adresse sécurisée: securewhacked: 8081 In, C# J'appelle les fonctions suivantes:

IWebProxy defaultWebProxy = WebRequest.DefaultWebProxy; 
Uri proxyUri = defaultWebProxy.GetProxy("https://www.wellsfargo.com"); 

Je suppose que proxyUri devrait être "securewhacked: 8081".

À la place, proxyUri est "whacké: 8080".

Cela ressemble à un bogue dans l'utilisation du proxy "automatique" .NET. Et le résultat est que notre logiciel échoue lorsque l'accélérateur de téléchargement est activé.

Est-ce que quelqu'un sait ce qui se passe ici?

Je sais qu'il est relativement facile pour les clients de désactiver l'accélérateur, mais je préférerais que notre logiciel fonctionne hors de la boîte sans exiger que l'utilisateur désactive l'accélérateur.

Toute suggestion appréciée.

Répondre

0

L'accélérateur est-il défini sur le paramètre proxy (IE) de l'utilisateur, le paramètre de proxy machines (WinHTTP) ou les deux? Si IE, vous pouvez essayer d'utiliser proxycfg -u pour importer les paramètres IE dans WinHTTP (puisque je crois que c'est ce que WebClient (et .NET généralement) utilise).