Как принимать post запрос от php на python

Здравствуйте создаю телеграм ботов на python, мой знакомый предложил мне сделать бота для его сайта и сказал, что его код на php будет по curl отправлять post запрос мне на python ( там будет число )и мой бот должен иметь слушателя и принимать этот пост запрос и обробатывать... Такой вот вопрос что значит слушателя ( предпологаю что это что-то связанное с многопоточностью ) и как принимать пост запрос от php на python ?)


Ответы (1 шт):

Автор решения: Michael Tetelev

Насколько я могу понять, вам не хватает знаний в области http и протоколов обмена данными.

http (как и ws, например) не зависит от того, кто и как отправил данные, они всегда приходят в одинаковой форме. И если вы на php отправили данные {'a': 1, 'b': 2}, то не важно, кто их получит - js, python или сервер на плюсах, данные всегда будут одинаковые. Собстенно, протоколы и стандарты и нужны как раз для того, чтобы не думать, кто и как отдал данные, а кто и как их получил.

Второй вопрос - это то, как реализовать "слушателя". Если вы пишете на питоне, то у вас есть django, flask, fastapi. Для чего-то простого типа бота django излишен, так что я бы его в данном случае не советовал, а по моей субъектнивной оценке советовал бы fastapi.

Итого, чтобы решить данную задачу, вам нужно что-то типа

from fastapi import FastAPI

server = FastAPI()

@server.post('/api/smth_url/')
async def create_new_image(data):
    responce = await do_smth(data)
    return responce

Документация и куча статей в помощь :)

→ Ссылка