У меня есть Python
+ requests
сценарий.Код статуса HTTP 200 против 202
Шаги, которые скрипт должен выполнить:
- отправить файл в БД;
- одобрить этот файл (изменить состояние файла в БД);
- скачать файл.
Ограничение:
только одобренные файл может быть загружен
Мой код:
requests.post(url_to_create, files={"file": open(path_to_file)})
requests.post(url_to_approve, data={'id': file_id})
requests.get(url_to_download, data={'id': file_id})
Проблема:
Этот код работает почти идеально, но иногда я не получаю никакого файла. Я обнаружил, что первый и третий запросы возвращают код состояния 200
, а второй возвращает 202
. Как я понимаю (скажите мне, если я ошибаюсь) статус 202: Accepted
означает, что сервер принимает запрос и возвращает код состояния без фактического завершения запроса
Вопрос:
Означает ли это, что запрос на загрузку можно отправить даже если запрос на одобрение еще не завершен, и, если это так, как я могу дождаться, пока запрос утверждения не будет завершен до отправки запроса на загрузку?
AFAIK, что не должно быть возможным. Свойство Response.content будет заблокировано до тех пор, пока не будет загружен весь ответ. – user2393256