У меня проблема с пользовательским агентом, написанным на 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. Однажды я работал на локальном сервере разработки, но, похоже, не могу найти различий. Я уверен, что это настройка, поскольку код работает в среде разработчика и на сервере отладки.