У меня есть сервер, который должен иметь возможность принимать JSON, а затем обрабатывать его, а затем отправлять JSON обратно. Код на моей стороне сервера использует bottle.py with cherrypy. Маршрут в концерне является следующее:Отправка JSON через модуль запросов и его использование с использованием bott.py и cherrypy
@route ('/tagTweets', method='POST')
def tagTweets():
response.content_type = 'application/json'
# here I need to be able to parse JSON send along in this request.
Для запроса на эту страницу и тестирование функциональности, я использую Спросы код модуля:
данные, которые я должен послать это список твитов. Данные сами извлекаются с некоторого сервера, который возвращает список твитов. Для получения твитов я использую requests.get
, а затем используя json-метод объекта ответа. Это работает нормально. Теперь я после некоторой обработки на этом, я должен послать этот json, точно так же как я приносил к другому серверу.
url = "http://localhost:8080/tagTweets"
data = {'sender': 'Alice', 'receiver': 'Bob', 'message': 'We did it!'}
headers = {'Content-type': 'application/json', 'Accept': 'text/plain'}
r = requests.post(url, data=json.dumps(data), headers=headers)
Я не могу понять, как получить доступ к json send по запросу.
Уважаемый Martijn, я использую cherrypy with bottle.py. Работает команда сервера, как это: пробег (хост = '0.0.0.0', порт = 8082, сервер = 'CherryPy') request.json выходит в NONE по какой-то причине – VaidAbhishek
@VaidAbhishek: CherryPy просто другой сервер WSGI в этом случае; какую версию бутылки вы используете? Что 'request.body.read()' дает вам? –