Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Веб сервер, Не могу вытащить входящие параметры 
:(
    Опции темы
radetsky
Дата 6.12.2006, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 5.12.2006

Репутация: 1
Всего: 1



Здраствуйте!
Пишу веб-сервер (если ето можно так назвать)
Пользуюсь модулем BaseHTTPServer
Мне нужно вытащить входящие параметры, в принципе разници нету какие GET или POST.
Подскажите как достать параметры POST, или параметры GET привести в нормальный, потому что когда использую GET то многие символы (такие как < > " 'пробел' )заменяются на коды символов.
Заранее благодарен!
PM MAIL   Вверх
radetsky
Дата 6.12.2006, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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 заменяя коды сиволов и выдает параметры в словаре.
Может ктото скажет что я заново изобрел велосипед, но зато работает.
PM MAIL   Вверх
dvska
Дата 7.12.2006, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 182
Регистрация: 30.1.2006

Репутация: 6
Всего: 9



Действительно -- заново изобрёл велосипед. Всё что нужно, есть в стандартных модулях urllib и других. Читай доки/книжки, гугли в конце концов.

Добавлено @ 14:33 
Да и зачем писать свой веб-сервер, когда полно готовых, продуманных и отлаженных?  Хотя бы тот же CherryPy?
--------------------
PM MAIL   Вверх
pythonwin
Дата 7.12.2006, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



radetsky, я тебе настоятельно советую не изобретать велосипед - питон существует уже 16 лет и один даже очень хороший программист не сможет за короткий срок написать аналоги всех модулей и расширения для питона. smile
PM WWW GTalk Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0492 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.