Почему я получил ошибку 401 при запросе данных в докереPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Почему я получил ошибку 401 при запросе данных в докере

Сообщение Anonymous »


Я разработал скрипт Python для запуска в Docker.

Сценарий:

из фляги импорта Flask запросы на импорт приложение = Колба(__name__) api_key = "308b62e9a346baf4145ea2f25ecf480e" @app.route('/') индекс защиты(): вернуть «Приложение работает!» @app.route('//') защита Weather_by_city (город): url=f'http://api.openweathermap.org/data/2.5/ ... d={api_key}' ответ = запросы.получить (URL) если ответ.код_статуса == 200: данные = ответ.json() temp = (данные['main']['temp']-273.15) # Округляем температуру до двух десятичных знаков. rounded_temp = круглый (температура, 2) print(f'Температура: {rounded_temp} по Цельсию') desc = data['погода'][0]['описание'] print(f'Описание: {desc}') еще: print('Ошибка получения данных о погоде') если __name__ == '__main__': app.run(хост="0.0.0.0", порт=5000) DockerFile:

ИЗ Python:3 ENV PYTHONНЕБУФЕРИРОВАННЫЙ 1 ЗАПУСК mkdir/приложение РАБОЧИЙ ДИАПАЗОН/приложение КОПИРУЙТЕ файл require.txt /app. RUN pip install --upgrade pip ЗАПУСТИТЬ pip install -r требования.txt КОПИРОВАТЬ. /приложение ЭКСПОЗИЦИЯ 5000 CMD ["python", "app.py"] И требования.txt:

certifi==2019.9.11 шарде==3.0.4 Нажмите == 7.0 Колба==1.1.1 идна==2.8 это опасно == 1.1.0 Джинджа2==2.10.3 РазметкаSafe==1.1.1 запросы==2.31.0 urllib3==2.0.7 Веркцойг==0.16.0 Я выполняю следующие команды внутри папки, содержащей указанные выше файлы:

sudo docker build -t Weather:v1 . sudo docker run -dit --rm -p 5000:5000 --name погода погода:v1 Я подтверждаю, что докер работает:

ИДЕНТИФИКАТОР КОНТЕЙНЕРА ИЗОБРАЖЕНИЕ КОМАНДА СОЗДАНО СТАТУС ИМЕНА ПОРТОВ 1597682007cb погода:v1 "python app.py" 5 минут назад Up 5 минут 0.0.0.0:5000->5000/tcp, :::5000->5000/tcp погода Когда я хочу запросить данные, я использую следующую команду:

curl http://0.0.0.0:5000/лондон Получение этого вывода:

404 не найден Не найден Запрошенный URL-адрес не найден на сервере. Если вы ввели URL вручную, проверьте правильность написания и повторите попытку.

Если попытаться использовать команду в python3:

>>> запросы на импорт >>> Requests.get('http://api.openweathermap.org/data/2.5/ ... f25ecf480e') Что я делаю не так?

Спасибо за помощь!
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»