Un URI peut contenir username:password avant son hôte. Cela ne signifie pas que toute API .NET acceptant cet URI copie les informations utilisateur dans un objet d'authentification.

Lors de la construction directe de WebProxy, rendez l'affectation des informations d'identification explicite :

var proxy = new WebProxy("http://203.0.113.10:8080")
{
    Credentials = new NetworkCredential(proxyUser, proxyPassword)
};

Les variables de point de terminaison et de compte sont illustratives. Cela garde séparés l'adresse de destination, l'adresse du proxy et le compte du proxy.

Si un format d'entrée fournit une URL porteuse d'identifiants, analysez délibérément ses informations utilisateur. Préservez un mot de passe contenant des deux-points en ne découpant qu'au séparateur d'identifiants, et décodez les composants encodés au bon stade. Évitez d'afficher l'URL d'origine pendant le diagnostic de cet analyseur.

Une URL de proxy fonctionnant comme paramètre d'environnement peut se comporter différemment lorsqu'elle est transmise à un autre constructeur. L'initialisation du proxy d'environnement possède sa propre logique d'analyse ; ce n'est pas la promesse que chaque constructeur consomme les mêmes champs.

Enfin, affectez l'objet proxy configuré au gestionnaire qui exécute la requête. Des identifiants corrects sur un WebProxy inutilisé ne peuvent pas affecter la connexion.

Articles similaires