В зависимости от режима работы приложение требует различных входных параметров (они задаются с помощью переменных среды) Запуск с помощью указания cookies более предпочтителен, так как в приложение не передаются данные пользователя (username/password), однако потребует неких дополнительных действий (см ниже)
Если запуск идет с помощью указания cookies, нужно установить переменные среды:
- TAXER_COOKIES - строка с куками (токен там уже закодирован, его отдельно передавать ненужно).Как получить cookies описано ниже
Если запускаем с помощью указания user/password:
- TAXER_USER - имя пользователя для входа в taxer.ua
- TAXER_PWD - пароль
- Открываем браузер, логинимся
- Открываем браузерный отладчик (обычно F12)
- Переходим во вкладку Console
- В консоли выполняем
document.cookie
- Копируем эти данные (без кавычек). Это будет наша переменная TAXER_COOKIES
- Taxer выдает куки где-то на 1 неделю, т.е. через неделю они заекспайрятся и нужно будет проделать всю процедуру заново
Репозиторий на DockerHub
- требуется установленный сам docker
- открыть новую консоль (cmd) и запустить
Где в TAXER_COOKIES передаются куки
docker run -it --rm -p "7080:7080" -e TAXER_COOKIES="_ga=GA1.2.10829...6894; _gat=1" maxsivkov/taxerapi
- проверить работу: открыть в браузере http://localhost:7080/docs и попробовать прочитать учетную запись (раздел account)
- для завершения работы в консоли нужно нажать Ctrl-C
- В случае возникновения ошибок в консоли будут писаться сообщения. По ним в принципе можно понять что происходит
- требуется установленный сам docker и docker-compose
- скачать файл docker-compose.yml
- создать файл
.user.env
и поместить туда переменную TAXER_COOKIES с содержимым. Должно получиться примерно так:
TAXER_COOKIES=_ga=GA1.2.147289...b28852cb2da6033936efb; XSRF-TOKEN=02da4f9ff62e0f7...4e1217a; _gat=1
- открыть новую консоль (cmd) и запустить
docker-сompose up pytaxerapi
В результате в консоли должна появиться строка типа такой
2020-04-20 16:55:59 INFO werkzeug * Running on http://0.0.0.0:80/ (Press CTRL+C to quit)
- проверить работу: открыть в браузере http://localhost:7080/docs и попробовать прочитать учетную запись (раздел account)
- для завершения работы в консоли нужно нажать Ctrl-C
- В случае возникновения ошибок в консоли будут писаться сообщения. По ним в принципе можно понять что происходит
- Требуется установленный Python 3.7 или выше вместе с установленным virtualenv (
pip install virtualenv
) - Требуется установленная Visual Studio 2019 с пакетом MSVC v142 - VS 2019 C++ x64/x86 build tools (v14.25)
- Cклонировать проект. Репозиторий можэно склонировать с помощью Git а можно скачать в виде zip архива
git clone https://github.com/maxsivkov/py-taxer-api.git
- Pапустить коммандную строку x64 Native Tools Command Prompt for VS 2019 либо x86 Native Tools Command Prompt for VS 2019 в зависимости от битности установленного python из
Start Menu -> Programs -> Visual Studio 2019 -> Visual Studio Tools -> VC
- Перейти в корень проекта
cd py-taxer-api
- Устанавливаем virtualenv для проекта
virtualenv venv
- активируем
venv\Scripts\activate
- инсталируем
pip install .
- устанавливаем переменную среды TAXER_COOKIES
set TAXER_COOKIES=ga=GA1.2.147289...b28852cb2da6033936efb; XSRF-TOKEN=02da4f9ff62e0f7...4e1217a; _gat=1
- запускаем
flask run --port 7080 --host=0.0.0.0 --no-reload
В этом режиме никакие махинации с cookies не требуются, т.к. приложение с помощью Selenium само выполнит логин и получит cookies.
С другой стороны вы передаете в приложение свои username/password
Решать вам.
Итак:
- требуется установленный сам docker и docker-compose
- скачать файл docker-compose.yml
- создать файл
.user.env
и поместить туда переменные TAXER_USER и TAXER_PWD с содержимым. Должно получиться примерно так:
TAXER_USER=username@domain.com
TAXER_PWD=mypassword
- открыть новую консоль (cmd) и запустить
docker-сompose up
В результате в консоли должна появиться строка типа такой
2020-04-20 16:55:59 INFO werkzeug * Running on http://0.0.0.0:80/ (Press CTRL+C to quit)
- проверить работу: открыть в браузере http://localhost:7080/docs и попробовать прочитать учетную запись (раздел account)
- для завершения работы в консоли нужно нажать Ctrl-C
- В случае возникновения ошибок в консоли будут писаться сообщения. По ним в принципе можно понять что происходит
- Требуется установленный Python 3.7 или выше вместе с установленным virtualenv (
pip install virtualenv
) - Требуется установленная Visual Studio 2019 с пакетом MSVC v142 - VS 2019 C++ x64/x86 build tools (v14.25)
- Требуется установленный Firefox Browser и gecodriver WebDriver
- Cклонировать проект. Репозиторий можэно склонировать с помощью Git а можно скачать в виде zip архива
git clone https://github.com/maxsivkov/py-taxer-api.git
- Pапустить коммандную строку x64 Native Tools Command Prompt for VS 2019 либо x86 Native Tools Command Prompt for VS 2019 в зависимости от битности установленного python из
Start Menu -> Programs -> Visual Studio 2019 -> Visual Studio Tools -> VC
- Перейти в корень проекта
cd py-taxer-api
- Устанавливаем virtualenv для проекта
virtualenv venv
- активируем
venv\Scripts\activate
- инсталируем
pip install .
- устанавливаем переменные среды TAXER_USER и TAXER_PWD
set TAXER_USER=username@domain.com set TAXER_PWD=mypassword
- запускаем
flask run --port 7080 --host=0.0.0.0 --no-reload