예를 들어, 이런 주소가 있다고 하자.
rtsp://myid:abcd#9876@xxx.yyy:12345/unicast
어떤 Client 는 저 주소대로 넣어도 잘 인식하지만, SMPlayer 에 넣었더니 오류가 났다. 포트 주소를 모르겠다며.
비밀번호를 바꾸자니, 여러 사람에게 모두 통보해야 하는 상황이라 그것도 어렵고.
따옴표를 넣어줬으나 역시 인식 불가.
답은 없는 걸까?
왜 없겠어.
Stack Overflow 에서 또 도움을 받았다. 특수문자는 URL Encoding(이른바 퍼센트 인코딩)을 해주면 된다고 한다.
이 법칙에 따라, 저 주소는 이렇게 바꿔주면 된다.
rtsp://myid:abcd%239876@xxx.yyy:12345/unicast
그런데, 저 ‘%23’ 이 ‘#’ 이 아니고, 정말로 ‘%23’ 이라면?? 그럴 땐 %기호도 바꿔주면 되지 않을까?
즉, ‘%23’ 은 ‘%2523’이 되겠다.
헌데, 문자 전체(즉, 일반문자까지도)를 퍼센트 인코딩해줘야 되는게 아닌가?
자세한 과정은 모르겠으나, 아무튼 특수문자만 바꿔주니 SMPlayer 에서 ID/PW 를 잘 인식은 해줬는데..
그럼 됐지?