Apache, mod_wsgi, Django и пользовательский агент Python - PullRequest
0 голосов
/ 17 июня 2011

У меня проблема с пользовательским агентом, написанным на Python, который я сейчас пытаюсь использовать с веб-службой Bitnami Amazon, на которой предварительно установлены Apache, mod_wsgi (для Python) и Django. У меня возникла проблема при попытке отправить данные на сайт Django из пользовательского агента Python.

Например, когда я собираю URL-адрес со следующим:

    rq = urllib2.Request('http://' + IP_ADDRESS + '/power/command/')
    r = urllib2.urlopen(rq)
    return r.read()

Этот GET не проблема. Когда я собираю URL-адрес следующим образом, но пытаюсь POST-данные с ним, например, так:

        params = urlencode({'u': json.write(obj)})
        rq = urllib2.Request('http://' + IP_ADDRESS + '/power/command/update/', params)
        r = urllib2.urlopen(rq)
        ret_val = r.read()

Я получаю ошибку 404. Если я просто удаляю параметры из конструктора запроса, я получаю ошибку 500, что более или менее уместно.

Оба этих сегмента кода прекрасно работают с отладочным веб-сервером Django ('./ manage.py runserver'), который является частью Django. Любые идеи по проблеме, или даже просто как отладить, приветствуются.

Я уже пытался подделать 'User-agent', но это маловероятно, так как GET работает в первую очередь. Файл Apache httpd.conf выглядит довольно скучно, за исключением ссылок на mod_wsgi. Однажды я работал на локальном сервере разработки, но, похоже, не могу найти различий. Я уверен, что это настройка, поскольку код работает в среде разработчика и на сервере отладки.

1 Ответ

0 голосов
/ 19 июня 2011

Для начала проверьте доступ к Apache и журналы ошибок и посмотрите, не нашли ли вы там что-то подозрительное:

Как отлаживать ошибки?

Однажды Apache запускается, он создаст два файла журнала, access_log и error_log / каталог установки / apache2 / logs каталог. Вы можете изменить эти файлы, чтобы увидеть Точная ошибка в приложении.

от: http://wiki.bitnami.org/Components/Apache#How_to_debug_errors.3f

...