J'essaye de mettre en place un petit script Python 3.8 qui peut écouter et gérer les requêtes POST. Je veux écouter un POST de Trello, puis simplement enregistrer les données. Chaque vidéo ou guide que j'ai lu montre comment gérer les demandes POST à partir d'un formulaire HTML.

Exemple 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"
      }
   }
}
0
ayoungdeveloper 16 juin 2020 à 12:26

4 réponses

Meilleure réponse

J'envisagerais d'utiliser un cadre d'application Web léger comme Flask. En utilisant Flask, vous pouvez créer un simple script côté serveur en Python pour écouter les requêtes POST et traiter les données.

Exemple:

Tout d'abord, installez Flask: pip install flask.

Ensuite, voici un exemple de script:

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 contient un serveur de développement, mais pour l'exécuter en production, vous devez consulter Options de déploiement de Flask.

2
AndroidNoobie 16 juin 2020 à 10:13

Si vous voulez écouter la requête POST, vous avez besoin d'une sorte de serveur Web

Vous pouvez obtenir le serveur Web avec python par flask, django ou tout autre cadre de travail une autre option consiste à utiliser la bibliothèque python "http.server"

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

Ici, j'ai fait un simple serveur HTTP Python 3 pour la journalisation de toutes les requêtes GET et POST

enter image description here

0
pushpak hurpade 16 juin 2020 à 10:05

Ce que vous recherchez est un serveur HTTP quelque chose comme http.server module ou flask etc.

Vous pouvez lire le guide d'utilisation ici:

https://flask.palletsprojects.com/en/1.1.x/

0
Shashank V 16 juin 2020 à 09:31

À mon avis, vous devriez essayer de configurer une API en utilisant flask (pour une configuration rapide) ou django (pour un moyen plus fiable et évolutif).

-1
Hemant Malik 16 juin 2020 à 09:30
62405279