URL: nome de usuário com @

125

Para enviar nome de usuário e senha com um URL, usamos este esquema:

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

Mas meu nome de usuário é [email protected].
O problema é o @.

Como posso resolver isso?

Rodrigo
fonte
10
codifique o @as %40.
Marc B
6
Você não deseja incluir uma senha nos seus URLs, porque pode tentar acessar acidentalmente o URL via HTTP (o que está fazendo), e isso significa que qualquer pessoa com Wireshark a menos de 50 metros de você tem sua senha e nome de usuário.
HoldOffHunger

Respostas:

182

Você precisa codificar URL como @% 40.

Joe
fonte
1
Agradável. Isso também funciona se sua senha também contiver uma senha @, o que é cada vez mais provável com senhas aleatórias criadas por gerenciadores de senhas.
Adambean 4/11
tenho que fazer isso com todos os caracteres diferentes de alfanuméricos? por exemplo, se meu nome de usuário for [email protected]e minha senha abc!@#, devo usar name%2Elastname%40mail%2Ecome abc%21%40%23?
m4l490n 8/01
19

Use% 40 no seu nome de usuário em vez do símbolo @ para a codificação do URL. Deve passar corretamente então.

matthewnreid
fonte
Isso funciona esplêndido agora que o bitbucket não permite mais nomes de usuário simples, mas requer nomes de usuário no estilo nomedeusuá[email protected].
Jeroen Wiert Pluimers
14

Apenas faça:

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

Estou surpreso que o problema estava com o nome de usuário @e não com a senha - geralmente é aqui que recebo caracteres reservados na autoridade do URL ou nas partes do caminho.

Para resolver casos gerais de caracteres especiais: Basta abrir o console do chrome F12e colar encodeURIComponent(str)onde strestá sua senha (ou nome de usuário) e, em seguida, usar o resultado codificado para formar um URL com a senha.

Espero que isso poupe algum tempo.

Matas Vaitkevicius
fonte