.Net 4.5 이전에는 System.Uri가 인코딩 된 슬래시를 인코딩 해제하는 것으로 보였으 나 이후에는 수정되었습니다. 참조 : https://stackoverflow.com/a/20733619/188740System.Uri 및 인코딩 된 콜론 (:)
콜론과 동일한 문제가 발생합니다. System.Uri은 여전히 인코딩 된 콜론을 암호화 해제합니다. 예 : %3A
가 선택 System.Uri에 의해 :
로 다시 전환되는 방식
var uri = new Uri("http://www.example.com/?foo=http%3A%2F%2Fwww.example.com");
var s = uri.ToString(); //http://www.example.com/?foo=http:%2F%2Fwww.example.com
알 수 있습니다. 이거 버그 야? 가장 좋은 해결 방법은 무엇입니까?
AbsoluteUri는 매력처럼 작동합니다. 콜론이 AbsoluteUri없이 인코딩되지 않은 이유는 무엇입니까? 나 한테 버그 같아. –
네, 그렇게 보입니다. 나는 그 오류가 어딘가에 있다고 믿는다. (http://referencesource.microsoft.com/#System/net/System/URI.cs,1675). '.AbsoluteUri'는 훨씬 간단한 [구현] (http://referencesource.microsoft.com/#System/net/System/URI.cs,738)을 가지고 있습니다. – degant