2011-11-13 2 views
3

인코딩 된 URL에 대해 혼동합니다.인코딩 된 URL이 작동하지 않습니다.

stackoverflow.com/questions 

내가 성공적으로 페이지를 볼 수 있습니다 : 내 브라우저를 쓰기 예를 들어

.

stackoverflow.com%2Fquestions 

내가 볼 수없는입니다 : 내가 쓰기 그러나

.

% 2F은 "/"을 의미하므로이 기능이 제대로 작동하지 않는 이유를 알고 싶습니다.

내가 알아 내야하는 이유는 인코딩 된 URL을 얻고 있으며 오류 페이지가 표시되지 않도록 수신 한 후 해당 URL을 디코딩 할 수있는 방법을 모르겠습니다.

+1

답변을 읽은 후에 완전히 이해합니다. 내가하려고하는 것은 www.domain.com?retUrl=www.anotherdomain.com%3Fparameter%3D=value와 같은 쿼리 문자열에 URL을 전달하려고한다는 것입니다. 사실, 다른 domain.com에서 매개 변수의 값을 받고 싶습니다. 이것을 달성 할 수있는 방법이 있습니까? – Mikae

답변

9

/percent-encoding reserved characters 중 하나입니다. URL은 구문을 정의 할 때 percent-encoding reserved characters을 사용합니다. 이러한 문자가 URL 내 특수한 역할에 사용되지 않는 경우에만 인코딩해야합니다.

퍼센트 인코딩 예약 된 문자 :

!  *  '  (  )  ;  :  @  &  =  +  $  ,  /  ?  #  [  ] 
%21  %2A  %27  %28  %29  %3B  %3A  %40  %26  %3D  %2B  %24  %2C  %2F  %3F  %23  %5B  %5D 
+0

나는 그것을 완전히 이해하고있다. 내가하려고하는 것은 www.domain과 같은 쿼리 문자열에 URL을 전달하려고하는 것입니다.com? retUrl = www.anotherdomain.com % 3F 매개 변수 % 3D = 값. 사실, 다른 domain.com에서 매개 변수의 값을 받고 싶습니다. 이것을 달성 할 수있는 방법이 있습니까? – Mikae

+1

예를 들어'http : //www.domain.com/example /'을'http : //www.domain.com/page.php'에'http : //www.domain. com/page.php? theURL = http % 3A % 2F % 2Fwww.example.com % 2Fexample % 2F'. – Anne

+0

사실, domain.com은 내가 통제 할 수없는 서비스이고 www.example.com은 내가 통제하는 것입니다. domain.com은 브라우저를 example.com으로 리디렉션합니다. 그리고 example.com 페이지 (www.example.com?parameter=value)에서 매개 변수를 수신하려고합니다. 그래서 URL 인코딩/디코딩을 사용하려고 생각했습니다. 내가 어떻게 나아갈 수 있는지 알고 있니? – Mikae

5

%2F입니다./으로 이스케이프 처리됩니다. 즉, /을 문자로 처리해야하며 디렉토리 구분자가 아닙니다.

본질적으로

, 그것은 도메인stackoverflow.com/questions가 아닌 경로 questions으로 도메인 stackoverflow.com를 찾고 있습니다.

1

URL 인코딩은 예를 들어, 사용 '/'와 같은 특수 문자가 포함 된 HTML 양식에서 오는 문자열 URL 매개 변수를 인코딩합니다. "stackoverflow.com % 2Fquestions"을 쓰는 것은 잘못되었습니다.이 경우 '/'는 URL 자체의 일부이므로 인코딩하면 안됩니다.