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:password@www.my_site.com

Mais mon nom d'utilisateur est my_email@gmail.com.
Le problème est le @.

Comment puis-je le résoudre?


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.


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 name.lastname@mail.comet 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.


Cela fonctionne parfaitement maintenant que bitbucket n'autorise plus les noms d'utilisateur simples, mais nécessite des noms d'utilisateur de style username@example.org.
Jeroen Wiert Pluimers

14

Faites simplement:

 http://my_email%40gmail.com:password@www.my_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.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.