URL: nome de usuário com @


125

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

http://username:password@www.my_site.com

Mas meu nome de usuário é my_email@gmail.com.
O problema é o @.

Como posso resolver isso?


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.


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


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ário@exemplo.org.
Jeroen Wiert Pluimers

14

Apenas faça:

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.