ошибка запроса post-файла

#python #python-requests #http-post

#python #python-запросы #http-post

Вопрос:

Я столкнулся со странной проблемой с запросами, я печатаю файл не пустым перед запросами, но сервер иногда отвечает мне, что файл пуст, также иногда это нормально.

клиент использует python:

     if os.path.exists('files/%s' % file_name):
        files = {'file': ('result_%s' % file_name,
                          open('files/%s' % file_name, 'rb'))}
        logger.warning(f"文件大小:{len(files['file'][1].read())}")
        res = requests.post(url, files=files)
  

и сервер, использующий только Java, проверяет следующее:

 if (file==null) || file.getSize()==0:
     empty error
  

в этом случае будет ошибка с пустым файлом, так почему это могло произойти, кто-нибудь встречал?

Ответ №1:

Я, наконец, получил решение, надеюсь, поможет:

попробуйте запросить 2 раза, с:

 res = requests.post(url, files=files)
files.seek(0)
res = requests.post(url, files=files)
  

второй раз будет успешным, а первая попытка всегда завершается неудачей.