Я пытаюсь загрузить zip-файл из FEMA, используя python3
и requests
. URL работает, когда я вставляю его в браузер, а также когда я wget
. Существует перенаправление, и я вижу, что оно успешно перенаправлено с помощью requests
. Однако возвращаемый контент имеет значительно меньше байтов, чем я ожидал, например, неправильно сформированный zip.
Вот URL и фрагмент кода:
>>> import requests
>>> url = 'https://hazards.fema.gov/femaportal/NFHL/Download/ProductsDownLoadServlet?DFIRMID=10001C&state=DELAWARE&county=KENT COUNTY&fileName=10001C_20190130.zip'
>>> resp = requests.get(url)
>>> len(resp.content)
2583
>>> resp.headers['content-length']
'66892906'
>>> resp.url
'https://hazards.fema.gov/nfhlv2/output/County/10001C_20190130.zip'
ОБНОВЛЕНИЕ : Я выполнял это в контейнере докера. Снаружи контейнера он работает как положено.
Python 3.7.3 (default, May 10 2019, 15:15:13)
[Clang 10.0.1 (clang-1001.0.46.3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
>>> requests.__version__
'2.21.0'
>>> url = 'https://hazards.fema.gov/nfhlv2/output/County/10001C_20190130.zip'
>>> r = requests.get(url)
>>> len(r.content)
66892906
>>>