Это проблема скорости. Сервер на corpus-db.org ОТКЛЮЧИТ ВАС, если вы загружаете что-то более 35 секунд, независимо от того, сколько вы уже загрузили.
Что еще хуже, сервер не поддерживает Content-Range , поэтому вы не можете загрузить его порциями и просто возобновить загрузку с того места, где остановились.
Что еще хуже, не только Content-Range не поддерживается, но и SILENTLY IGNORED , что означает, что он работает, пока вы на самом деле не проверите, что вы скачали.
Если вам нужно загрузить эту страницу с более медленного соединения, я рекомендую арендовать дешевый VPS и настроить его как зеркало того, что вам нужно скачать, и вместо этого загрузить с вашего зеркала. Ваше зеркало не обязательно должно иметь ограничение в 35 секунд.
Например, this vps 1 стоит $ 1,25 / месяц, имеет соединение 1 Гбит / с и сможет загрузить эту страницу. Возьмите напрокат один из них, установите на нем nginx, поместите его в папку www nginx и загрузите его с зеркала, и у вас будет 300 секунд на его загрузку (время ожидания по умолчанию для nginx) вместо 35 секунд. Если 300 секунд недостаточно, вы можете даже изменить время ожидания на любое другое.
Или вы даже можете придумать и настроить кеширующий прокси, совместимый с --proxy
параметром curl, чтобы ваша команда могла стать
curl --proxy=http://yourserver http://corpus-db.org/api/author/Dickens,%20Charles/fulltext
Если кто-то заинтересован в реализации этого примера, сообщите мне.
Вы не можете загрузить эту страницу с подключением 4 Мбит, потому что сервер ударит вас до завершения загрузки (через 35 секунд), но если вы загрузите ее с подключением 1000 Мбит, вы сможете загрузить весь файл до истечения времени ожидания.
(У меня домашнее интернет-соединение 4mbit, и я не могу загрузить его из дома, но я попытался загрузить его с сервера с 1000-мегабитным соединением, и это прекрасно работает.)
1 PS: Я никоим образом не связан с ramnode, за исключением того, что я (предыдущий) счастливый клиент, и я рекомендую их всем, кто ищет дешевые надежные VPS.