Note (novembre 2013)
L'encodage de l'url (en particulier de tout caractère spécial dans un mot de passe) est la bonne solution.
Le .netrc
mentionné ci-dessous ne concerne que l'url de la base de données distante, et non le proxy utilisé pour résoudre l'url de la base de données distante.
Pour cet encodage, voir " Encodage en pourcentage " :
Codage en pourcentage, également connu sous le nom d'URL codage est un mécanisme d'encodage de l'information dans un fichier de données. Identificateur de ressources uniformes (URI) dans certaines circonstances. Bien qu'il soit connu sous le nom d'encodage URL, il est en fait utilisé de manière plus générale dans le cadre du système principal de codage de l'Internet. Identificateur de ressources uniformes (URI), qui comprend à la fois Localisateur de ressources uniformes (URL) et Nom de ressource uniforme (URN). En tant que tel, il est également utilisé dans la préparation des données du type application/x-www-form-urlencoded type de support comme c'est souvent le cas dans la soumission de HTML formulaire données dans HTTP demandes.
Caractères réservés après le codage en pourcentage :
! # $ & ' ( ) * + , / : ; = ? @ [ ]
%21 %23 %24 %26 %27 %28 %29 %2A %2B %2C %2F %3A %3B %3D %3F %40 %5B %5D
Réponse originale (mai 2011)
Deux commentaires :
-
Avoir un mot de passe pour un serveur accessible par http (et non https) est... étrange. Le mot de passe n'est pas crypté lors des communications entre le client et le serveur ;
-
vous pourriez mettre en place un .netrc
(ou _netrc
pour Windows) dans votre $HOME
avec le contenu suivant
machine ipaddress:port
login userId
password pwd@
Le curl utilisé par Git en arrière-plan devrait gérer l'encodage sans problème, @
ou non @
.