2013-03-05 3 views
2

수신 요청이 3 번째 파트에서 발생하므로 내 손에서 빠져 나옵니다. 내가 request.GET에 요청 매개 변수를 인쇄 할 때Django에서 GET 매개 변수를 요청하십시오.

/external/endpoint?PRN=1234567&INPUT=1111;ABCDEF&CUSTOMER=555454545

이 내가 무엇을 얻을 수 있습니다. INPUT 매개 변수는 두 개의 다른 매개 변수로 잘립니다.

Incoming dict: {u'INPUT': [u'1111'], u'ABCDEF': [u''],u'CUSTOMER': [u'555454545'], u'PRN': [u'1234567']} 

요청 URL을 직접 해킹 할 수는 있지만 요청 개체의 기본 동작에 놀랐습니다. "&"으로 매개 변수를 나눈 것뿐입니다. 다른 사람이 이것을 보거나이 일이 발생해야하는지 알고 있습니까?

답변

0

W3에 따르면, ";" 실제로는 URI의 기본 매개 변수 구분 기호입니다.

http://www.w3.org/TR/html4/appendix/notes.html#h-B.2.2

속성이 형태 예 앵커 스타일 링크 (href 속성 용으로 사용될 수있는 전송 될 때 구성된다

URI를 값 B.2.2 앰퍼샌드 URI에

A 요소). 불행히도 양식 필드를 분리하기 위해 "&"문자를 사용하면 은 문자 엔티티 참조를 구분하기 위해 SGML 속성 값에서의 사용과 상호 작용합니다. 예를 들어 URI http://host/?x=1&y=2 을 연결 URI로 사용하려면 <A href="http://host/?x=1&#38;y=2"> 또는 <A href="http://host/?x=1&amp;y=2">으로 작성해야합니다.

HTTP 서버 구현 자, 특히 CGI 구현자가 ";" 작성자 "&"대신에 "&"문자를 이스케이프 처리해야합니다.

+0

감사합니다. 제공자의 구분선을 잘못 선택했습니다. – Gesias

+0

구분 기호로 사용되는 세미콜론은 장고의 QueryDict가 의존하는 [Python의 urlparse 모듈] (http://docs.python.org/2/library/urlparse.html#urlparse.parse_qs)에 의해 시행됩니다. – OregonTrail

관련 문제