HTTP публикация от Android към Python (Apache Mod_Python)

Искам да изпратя HTTP Post данни от приложение за Android към скрипт на Python (Apache с Mod_Python). Тествах моя Android клиент и изпращам данни успешно към php скрипт преди. Когато използвам формуляр и изпращам данни към моя скрипт на Python, той се представя добре (като качва или със скрипта по-долу, който подканва „Няма качен файл“).

Имам проблеми само когато искам да изпратя данни от моето приложение за Android към Python.

Получавам съобщение за грешка

ValueError: необходима е повече от 1 стойност за разопаковане

Ето моя код на Python:

def upload(req):

    sys.stderr = open('/var/www/cv/py/errorlog.txt', 'a')

    try: # Windows needs stdio set for binary mode.
        import msvcrt
        msvcrt.setmode (0, os.O_BINARY) # stdin  = 0
        msvcrt.setmode (1, os.O_BINARY) # stdout = 1
    except ImportError:
        pass

if False:
        # do some stuff, not used
else:
    message = 'No file was uploaded'

sys.stderr.close()
sys.stderr = sys.__stderr__

return message

Моят Android код за http публикацията е доста дълъг, но работи добре в друга настройка, така че засега не го публикувам (мога да го направя при поискване). Някой има ли съвет, откъде трябва да започна да търся грешката?


person Seb    schedule 01.03.2011    source източник
comment
Казва ли ви от кой ред идва грешката? Тъй като нищо от това не изглежда, че трябва да разопакова стойности.   -  person Thomas K    schedule 01.03.2011
comment
Не мога да видя пълната следа във файла с грешки (/var/log/apache2/error.log). Последните редове се отнасят за importer.py, publisher.py и util.py в mod_python. Мога ли да променя настройките на Apache(?), за да видя пълното проследяване в error.log?   -  person Seb    schedule 01.03.2011
comment
Не знам. Ако е в mod_python, това предполага, че има нещо нередно с конфигурацията на Apache. Трябва да добавя, че mod_python очевидно е заменен от mod_wsgi - не знам дали това ще работи по-добре за вас.   -  person Thomas K    schedule 01.03.2011


Отговори (1)


Открих грешката: В моята HTTP публикация използвах "\n" като знак за нов ред. PHP се справя добре с това, дори и да е деформиран. Mod_Python изисква "\r\n".

person Seb    schedule 01.03.2011