#python #flask #python-requests
#python #flask #python-запросы
Вопрос:
Я хочу создать /subscribe
конечную точку, которая добавит клиента в список, который будет уведомлен веб-справочником при возникновении события. Как я могу получить данные из flask, необходимые для последующего подключения к клиенту, чтобы я мог позже отправить POST в запросах?
Ответ №1:
Вы не можете сохранить сведения о соединении.
Нет ничего, что называется CONNECTION. Это просто HTTP-запрос от одного сервера к другому.
Все HTTP-запросы — это просто сообщения, которые вы (браузер или сервер) отправляете на другой сервер с запросом чего-то вроде «Могу ли я просмотреть ваш веб-сайт?» или «Можете ли вы отправить мне эти данные?» и т.д.,
Возможное решение для вас:
Я работал над веб-справочниками для одного из ваших продуктов в нашей компании, и лучший способ предоставить возможность создания веб-справочника вашему клиенту — это запросить их конечную точку.
Что я сделал:
- Я запрашиваю у клиента их конечную точку, чтобы я мог вызывать ее всякий раз, когда происходит событие.
- Попросите их создать secret_key и поделиться им, чтобы никто, кроме вас, не мог вызывать эту конечную точку.
- Вызывайте эту конечную точку, используя их secret_key всякий раз, когда происходит событие.
Выше приведено лишь краткое описание того, как это делается (или, по крайней мере, как я это сделал).
Комментарии:
1. Спасибо за ответ. В каком формате они сообщили бы мне о своей конечной точке? Какие данные мне нужны?
2. Я не знаю, о чем ваше приложение. Но конечная точка webhook обычно является конечной точкой API, где клиент может принимать запрос take и обрабатывать его так, как он хочет.
3. Я пишу простое приложение для чата и хочу информировать пользователя о новых сообщениях.
4. В этом случае вам может понадобиться сделать — 1. в messages.php создайте сеанс для каждого активного пользователя. 2. Всякий раз, когда кто-то отправляет кому-то сообщение, сохраняйте его. 3. Напишите другой файл с именем get_messages.php который возвращает все сообщения для темы разговора. 4. Напишите функцию JS, которая отправляет сообщение ajax в get_messages.php примерно каждые 10 секунд и обновлять окно диалога новыми сообщениями, если таковые имеются. Это всего лишь базовый способ сделать это, но он должен работать, если вы только начинаете кодировать.
5. Спасибо. Это был клиент Python (должен был упомянуть об этом), но я добился этого, используя маршрут flask, который не возвращал бы никаких данных до отправки сообщения, а затем имел высокий тайм-аут для него. В клиенте я синхронно вызвал его, используя его как блокировщик, пока не появилось сообщение. Спасибо за вашу помощь.