Как я могу обработать POST-запрос, используя Python? - PullRequest
0 голосов
/ 16 июня 2020

Я пытаюсь создать небольшой Python 3.8 скрипт, который может прослушивать и обрабатывать запросы POST. Я хочу прослушать POST от Trello, а затем просто зарегистрировать данные. В каждом видео или руководстве, которое я читал, показано, как обрабатывать POST-запросы из формы HTML.

Пример Trello:

{
   "action": {
      "id":"51f9424bcd6e040f3c002412",
      "idMemberCreator":"4fc78a59a885233f4b349bd9",
      "data": {
         "board": {
            "name":"Trello Development",
            "id":"4d5ea62fd76aa1136000000c"
         },
         "card": {
            "idShort":1458,
            "name":"Webhooks",
            "id":"51a79e72dbb7e23c7c003778"
         },
         "voted":true
      },
      "type":"voteOnCard",
      "date":"2013-07-31T16:58:51.949Z",
      "memberCreator": {
         "id":"4fc78a59a885233f4b349bd9",
         "avatarHash":"2da34d23b5f1ac1a20e2a01157bfa9fe",
         "fullName":"Doug Patti",
         "initials":"DP",
         "username":"doug"
      }
   },
   "model": {
      "id":"4d5ea62fd76aa1136000000c",
      "name":"Trello Development",
      "desc":"Trello board used by the Trello team to track work on Trello.  How meta!\n\nThe development of the Trello API is being tracked at https://trello.com/api\n\nThe development of Trello Mobile applications is being tracked at https://trello.com/mobile",
      "closed":false,
      "idOrganization":"4e1452614e4b8698470000e0",
      "pinned":true,
      "url":"https://trello.com/b/nC8QJJoZ/trello-development",
      "prefs": {
         "permissionLevel":"public",
         "voting":"public",
         "comments":"public",
         "invitations":"members",
         "selfJoin":false,
         "cardCovers":true,
         "canBePublic":false,
         "canBeOrg":false,
         "canBePrivate":false,
         "canInvite":true
      },
      "labelNames": {
         "yellow":"Infrastructure",
         "red":"Bug",
         "purple":"Repro'd",
         "orange":"Feature",
         "green":"Mobile",
         "blue":"Verified"
      }
   }
}

Ответы [ 2 ]

2 голосов
/ 16 июня 2020

Я бы посмотрел на использование облегченной структуры веб-приложений, например Flask. Используя Flask, вы можете создать простой серверный скрипт в Python для прослушивания POST запросов и обработки данных.

Пример:

Сначала установите Flask : pip install flask.

Тогда вот пример сценария:

from flask import Flask, request

app = Flask(__name__)

@app.route('/', methods=['POST'])
def result():
    print(request.data)  # raw data
    print(request.json)  # json (if content-type of application/json is sent with the request)
    print(request.get_json(force=True))  # json (if content-type of application/json is not sent)

Flask содержит сервер разработки, но чтобы запустить его в производственной среде, вам следует обратиться к Flask Варианты развертывания .

0 голосов
/ 16 июня 2020

, если вы хотите прослушивать запрос POST, вам нужен какой-то веб-сервер

вы можете получить веб-сервер с python по flask, django или любой другой фреймовой работой, другой вариант - используйте python библиотеку «http.server»

https://github.com/hacker1221/python3-server

здесь я сделал простой Python 3 HTTP-сервер для регистрации всех запросов GET и POST

enter image description here

...