Простой Python POST urlencode()
Я пытаюсь отправить сообщение POST в свое приложение Node.js, используя Python. Вот мой код
import urllib
import urllib2
url = my_url
values = {'email' : my_email,
'password' : my_password }
data = urllib.urlencode(values)
req = urllib2.Request(url,data)
response = urllib2.urlopen(req)
the_page = response.read()
print(the_page)
Запрос отправлен, но каким-то образом параметры запутались, потому что полученный ответ соответствует неверным учетным данным.
Я могу сделать тот же запрос, используя Postman для Chrome, и он работает просто отлично. Так что я знаю, что это не что-то с моим API.
По сути, я могу выполнять запросы GET с помощью Python, но по какой-то причине, когда я пытаюсь включить параметры в POST, они не транслируются правильно.
Я уже просмотрел документы для urllib, urllib2 и urlencode(). Я не мог найти ничего полезного
1 ответ
Я больше не отлаживаю проблемы urllib2, так как я перешел на запросы, у меня их больше нет, вы можете сделать это:
import requests
print requests.post(my_url, data={'email': my_email, 'password': my_password}).text
Такой читабельный, такой элегантный... Если ваше приложение jquery возвращает json, вы можете использовать ".json()" вместо ".text"
Похоже, ваша проблема заключается в сохранении файлов cookie, для этого вы можете просто использовать сеанс запросов