![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| radetsky |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 5.12.2006 Репутация: 1 Всего: 1 |
Здраствуйте!
Пишу веб-сервер (если ето можно так назвать) Пользуюсь модулем BaseHTTPServer Мне нужно вытащить входящие параметры, в принципе разници нету какие GET или POST. Подскажите как достать параметры POST, или параметры GET привести в нормальный, потому что когда использую GET то многие символы (такие как < > " 'пробел' )заменяются на коды символов. Заранее благодарен! |
|||
|
||||
| radetsky |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 5.12.2006 Репутация: 1 Всего: 1 |
Проблема решена, вот каким образом:
replaceDict = {'+':' ','%3C':'<','%3E':'>','%2B':'+','%2F':'/'} #символы для замены def parse(str): for key in replaceDict.keys(): bool = 1 while bool: id = str.find(key) if id == -1: bool =0; else: str = str[:id] + replaceDict[key] + str[id+len(key):]; list = []; bool = 1; while bool: id = str.find("&") if id == -1: bool =0; else: list.append(str[:id]) str = str[id+1:] list.append(str); args = {} for arg in list: id = arg.find("=") if id == -1: args[arg] = ''; else: args[arg[:id]] = arg[id+1:]; return args Функция разбирает параметры из запроса GET заменяя коды сиволов и выдает параметры в словаре. Может ктото скажет что я заново изобрел велосипед, но зато работает. |
|||
|
||||
| dvska |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 182 Регистрация: 30.1.2006 Репутация: 6 Всего: 9 |
Действительно -- заново изобрёл велосипед. Всё что нужно, есть в стандартных модулях urllib и других. Читай доки/книжки, гугли в конце концов.
Добавлено @ 14:33 Да и зачем писать свой веб-сервер, когда полно готовых, продуманных и отлаженных? Хотя бы тот же CherryPy? --------------------
|
|||
|
||||
| pythonwin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: 14 Всего: 36 |
radetsky, я тебе настоятельно советую не изобретать велосипед - питон существует уже 16 лет и один даже очень хороший программист не сможет за короткий срок написать аналоги всех модулей и расширения для питона.
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Python: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |