Python URLLib / URLLib2 POST

Я пытаюсь создать суперупрощенное Виртуальное В / Совет, использующий wx/Python. У меня есть следующий код на месте для одного из моих запросов к серверу, где я буду хранить данные:

data = urllib.urlencode({'q': 'Status'})
u = urllib2.urlopen('http://myserver/inout-tracker', data)
for line in u.readlines():
  print line

Ничто специальное продолжение там. Проблема, которую я имею, состоит в том, что, на основе того, как я прочитал документы, это должно выполнить Запрос Сообщения, потому что я обеспечил параметр данных, и этого не происходит. У меня есть этот код в индексе для того URL:

if (!isset($_POST['q'])) { die ('No action specified'); }
echo $_POST['q'];

И каждый раз, когда я запускаю свое Приложение Python, я добираюсь, 'Никакое действие не указало' текст, распечатанный к моей консоли. Я собираюсь попытаться реализовать его с помощью Объектов Запроса, поскольку я видел несколько демонстраций, которые включают их, но я задаюсь вопросом, может ли кто-либо помочь мне объяснить, почему я не получаю Запрос Сообщения с этим кодом.Спасибо!

- ОТРЕДАКТИРОВАННЫЙ-

Этот код действительно работает и Сообщения к моей веб-странице правильно:

data = urllib.urlencode({'q': 'Status'})
h = httplib.HTTPConnection('myserver:8080')
headers = {"Content-type": "application/x-www-form-urlencoded", 
           "Accept": "text/plain"}
h.request('POST', '/inout-tracker/index.php', data, headers)
r = h.getresponse()
print r.read()

Я все еще не уверен, почему urllib2 библиотека не Отправляет, когда я предоставляю параметр данных - мне, документы указывают, что она должна.

37
задан g.d.d.c 24 May 2019 в 16:45
поделиться

1 ответ

u = urllib2.urlopen('http://myserver/inout-tracker', data)
h.request('POST', '/inout-tracker/index.php', data, headers)

Использование пути /inout-tracker без заключительного / не приводит к получению index.php. Вместо этого сервер выдает 302 перенаправление на версию с корявым /.

Выполнение запроса 302 обычно заставляет клиентов преобразовывать POST в GET-запрос.

47
ответ дан 27 November 2019 в 04:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: