Я пишу какой-то кеширующий прокси-сервер с Python и Tornado, и мне нужно загрузить различные файлы с удаленного сервера, я использую AsyncHTTPClient
с обратными вызовами, чтобы сделать это, и он отлично работает на изображениях, но когда он приходит в видео или 3d модели - функция обратного вызова получает пустую request.body
, что я делаю неправильно? Мой код выглядит так:Tornado, как скачать файл?
def test_callback(self, response):
print response.body
def get(self):
client = tornado.httpclient.AsyncHTTPClient()
client.fetch(remote_url, self.test_callback)
И он печатает Нет, когда я загружаю видео или 3d модель.
Спасибо, это действительно была ошибка таймаута, но я думаю, что эта ошибка появляется из-за размера файла, она просто не полностью загружается в то время, нормально ли устанавливать 'connect_timeout' и' request_timeout' в 'None 'в таком случае? – bnopne
Да, действительно нет другого пути. Кроме того, вы можете использовать 'CurlAsyncHTTPClient' вместо обычного' AsyncHTTPClient'. –
Я провел исследование и выяснил, что на Tornado 4.2.1 установка 'connect_timeout' и' request_timeout' на 'None' не работает, но при этом она несколько большая, например 3600 секунд (1 час) хорошо. – bnopne