URL: nom d'utilisateur avec @

125

Pour envoyer un nom d'utilisateur et un mot de passe avec une URL, nous utilisons ce schéma:

http://username:[email protected]_site.com

Mais mon nom d'utilisateur est [email protected].
Le problème est le @.

Comment puis-je le résoudre?

Rodrigo
la source
10
encoder le @as %40.
Marc B
6
Vous ne voulez pas inclure de mot de passe dans vos URL, car vous pourriez accidentellement essayer d'accéder à l'URL via HTTP (ce que vous faites), et cela signifie que toute personne avec Wireshark à moins de 50 mètres de vous a votre mot de passe et votre nom d'utilisateur.
HoldOffHunger

Réponses:

182

Vous devez encoder l'URL @ en tant que% 40.

Joe
la source
1
Agréable. Cela fonctionne également si votre mot de passe contient un @trop, ce qui est de plus en plus probable avec des mots de passe aléatoires créés par des gestionnaires de mots de passe.
Adambean
dois-je faire cela avec tous les caractères différents des caractères alphanumériques? par exemple, si mon nom d'utilisateur est [email protected]et mon mot de passe abc!@#, dois-je utiliser name%2Elastname%40mail%2Ecomet abc%21%40%23?
m4l490n
19

Utilisez% 40 dans votre nom d'utilisateur au lieu du symbole @ pour le codage de l'URL. Il devrait alors passer correctement.

matthewnreid
la source
Cela fonctionne parfaitement maintenant que bitbucket n'autorise plus les noms d'utilisateur simples, mais nécessite des noms d'utilisateur de style [email protected].
Jeroen Wiert Pluimers
14

Faites simplement:

 http://my_email%40gmail.com:[email protected]_site.com

Je suis assez surpris que le problème soit lié au nom d'utilisateur @ lié et non au mot de passe - c'est généralement là que j'obtiens des caractères réservés dans l'autorité d'url ou les parties de chemin.

Pour résoudre le cas général des caractères spéciaux: ouvrez simplement la console Chrome avec F12puis collez encodeURIComponent(str) où se strtrouve votre mot de passe (ou nom d'utilisateur), puis utilisez le résultat encodé pour former l'URL avec le mot de passe.

J'espère que cela vous fera gagner du temps.

Matas Vaitkevicius
la source