URL : @이있는 사용자 이름


125

URL과 함께 사용자 이름과 비밀번호를 보내기 위해 다음 체계를 사용합니다.

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

하지만 내 사용자 이름은 my_email@gmail.com입니다.
문제는 @.

어떻게 해결할 수 있습니까?


10
를 인코딩 @으로 %40.
Marc B

6
URL에 비밀번호를 포함하고 싶지 않습니다. 실수로 HTTP를 통해 URL에 액세스하려고 할 수 있으며 (현재 수행중인) 이는 사용자로부터 50 미터 이내에 Wireshark를 사용하는 모든 사람이 사용자의 비밀번호와 사용자 이름을 가지고 있음을 의미합니다.
HoldOffHunger

답변:


182

@를 % 40으로 URL 인코딩해야합니다.


1
좋은. 이것은 또한 @암호 관리자가 생성 한 임의의 암호를 사용 하여 암호가 너무 많이 포함 된 경우에도 작동합니다 .
Adambean 2018

영숫자가 아닌 모든 문자로이 작업을 수행해야합니까? 예를 들어, 내 사용자 이름이 name.lastname@mail.comand my password abc!@#인 경우 name%2Elastname%40mail%2Ecomand abc%21%40%23?
m4l490n

19

URL 인코딩에 @ 기호 대신 사용자 이름에 % 40을 사용하십시오. 그러면 제대로 통과해야합니다.


bitbucket은 더 이상 일반 사용자 이름을 허용하지 않지만 username@example.org 스타일 사용자 이름이 필요하므로 이제 훌륭하게 작동합니다.
Jeroen Wiert Pluimers

14

그냥 해:

 http://my_email%40gmail.com:password@www.my_site.com

나는 문제가 @암호가 아닌 사용자 이름에 있다는 사실에 상당히 놀랐습니다. 일반적으로 이것은 URL 권한 또는 경로 부분에서 예약 문자를 얻는 곳입니다.

와 Chrome을 열고 콘솔 : 특수 문자의 일반적인 경우 해결하려면 F12다음 붙여 넣을 encodeURIComponent(str)경우 str암호 (또는 사용자 이름)이며, 다음 암호를 사용하여 양식을 URL로 인코딩 된 결과를 사용합니다.

이것이 시간을 절약하기를 바랍니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.