• Главная
  • Курсы
  • События
  • Блог
  • Контакты
  • Магазин
    • Загрузки
  • Партнерка
  • Обо мне
Есть вопросы? Звоните:
+7 (917) 449 09 97
admin@nizamov.school
РегистрацияВход
nizamov.school
  • Главная
  • Курсы
  • События
  • Блог
  • Контакты
  • Магазин
    • Загрузки
  • Партнерка
  • Обо мне

Blog

  • Главная
  • Блог
  • Blog
  • ПОСТИНГ В INSTAGRAM ИЗ 1С. МИКРОСЕРВИС НА PYTHON – ЧАСТЬ 1

ПОСТИНГ В INSTAGRAM ИЗ 1С. МИКРОСЕРВИС НА PYTHON – ЧАСТЬ 1

  • Опубликовано Илья Низамов
  • Разделы Blog
  • Дата 24.10.2020
  • Комментарии Нет комментариев
ПОСТИНГ В INSTAGRAM ИЗ 1С. МИКРОСЕРВИС НА PYTHON - ЧАСТЬ 1

Подписывайтесь в соц сетях. Там провожу конкурсы и публикую еще больше контента.

Vk Youtube Telegram Instagram Facebook Twitter

В данном уроке мы создадим http сервис на python. Готовый скрипт упакуем в виде exe файла, и рассмотрим вариант деплоя с помощью Docker.

В следующих уроках мы уже разработаем процедуру постинга и доработаем наш http сервис.

Импорт модулей

Для работы нам понадобятся функции логирования, класс для создания HTTP сервиса, и функции преобразования json.

import logging
from http.server import BaseHTTPRequestHandler, HTTPServer
import json

Запишись на тренинг

НАУЧИСЬ РАЗРАБАТЫВАТЬ МИКРОСЕРВИСЫ НА PYTHON ДЛЯ 1С ЗА 5 ЧАСОВ
ПОДРОБНЕЕ

Класс обработчик

Создадим класс на основании BaseHTTPRequestHandler, в котором опишем функции для обработки входящих запросов.

В ответ на GET запросы мы будем отдавать JSON

class MyBaseHTTPRequestHandler(BaseHTTPRequestHandler):
def set_headers(self, code=200):
self.send_response(code)
self.send_header('Content-type', 'application/json')
self.end_headers()

def do_GET(self):
hello = {'hello': 'world'}
self.set_headers()
self.wfile.write(json.dumps(hello).encode('utf-8'))

Запуск сервера

Разработаем функцию запуска нашего HTTP сервиса. И будем вызывать ее при запуске скрипта.

def run(server_class=HTTPServer, handler_class=MyBaseHTTPRequestHandler):
logging.basicConfig(level=logging.INFO)
server_address = ('', 9000)
httpd = server_class(server_address, handler_class)
logging.info('Start ...')
try:
httpd.serve_forever()
except KeyboardInterrupt:
pass
httpd.server_close()
logging.info('Stop ...')


if __name__ == '__main__':
run()

Подробное видео вы можете посмотреть на канале.

Полный код скрипта.

import logging
from http.server import BaseHTTPRequestHandler, HTTPServer
import json


class MyBaseHTTPRequestHandler(BaseHTTPRequestHandler):
def set_headers(self, code=200):
self.send_response(code)
self.send_header('Content-type', 'application/json')
self.end_headers()

def do_GET(self):
hello = {'hello': 'world'}
self.set_headers()
self.wfile.write(json.dumps(hello).encode('utf-8'))


def run(server_class=HTTPServer, handler_class=MyBaseHTTPRequestHandler):
logging.basicConfig(level=logging.INFO)
server_address = ('', 9000)
httpd = server_class(server_address, handler_class)
logging.info('Start ...')
try:
httpd.serve_forever()
except KeyboardInterrupt:
pass
httpd.server_close()
logging.info('Stop ...')


if __name__ == '__main__':
run()

Текст Dockerfile из видео

FROM python

COPY . /home/myhttp

EXPOSE 9000

ENTRYPOINT ["python", "./home/myhttp/myhttp.py"]
author avatar
Илья Низамов

Предыдущая запись

PYTHON ДЛЯ 1C — ЭТО ПРОСТО. ЧАСТЬ 8
24.10.2020

Следующая запись

ПОСТИНГ В INSTAGRAM ИЗ 1С. МИКРОСЕРВИС НА PYTHON – ЧАСТЬ 2
12.11.2020

Вам также может понравиться

1с шина
1С ШИНА. ШИНА ДАННЫХ 1С. УСТАНОВКА
2 февраля, 2022
Новый год nizamov.school
Новый год на NIZAMOV.SCHOOL
20 декабря, 2021
сервер взаимодействия
1С сервер взаимодействия. Amazon S3. The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint.
4 мая, 2021

Оставьте ответ Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Поиск

Рубрики

  • Blog

Ссылки

  • Политика конфиденциальности
  • Публичная оферта

Сайт создан в NIZAMOV.studio

Регистрация с помощью:

Войти Google Войти Twitter Войти Vkontakte

Вход через логин и пароль

Забыли пароль?

Нет аккаунта? Регистрируйся прямо сейчас

Register a new account

Are you a member? Login now