То, как я могу получить процент, закодировало наклонные черты Django на Механизме Приложения?

Я использую Django с Механизмом Приложения Google.

Я хочу отправить, информация к серверу с процентом закодировала наклонные черты. Запрос как http:/localhost/turtle/waxy%2Fsmooth это соответствовало бы против URL как r'^/turtle/(?P<type>([A-Za-z]|%2F)+)$'. Запрос добирается до неповрежденного сервера, но когда-то прежде чем он будет сравнен с regex, %2F преобразовывается в наклонную черту вправо.

Что я могу сделать, чтобы мешать %2Fs быть преобразованным в наклонные черты вправо?Спасибо!

11
задан Grzegorz Oledzki 14 June 2010 в 20:29
поделиться

1 ответ

os.environ ['PATH_INFO'] декодируется, поэтому вы теряете эту информацию. Вероятно, os.environ ['REQUEST_URI'] доступен, и если он доступен, он не декодируется. Django читает только PATH_INFO. Вероятно, вы могли бы сделать что-то вроде:

request_uri = environ['REQUEST_URI']
request_uri = re.sub(r'%2f', '****', request_uri, re.I)
environ['PATH_INFO'] = urllib.unquote(request_uri)

Затем все варианты% 2f заменяются на **** (или что угодно, что вы хотите использовать).

4
ответ дан 3 December 2019 в 11:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: