#python-3.x
Вопрос:
Мне нужно загрузить zip-файл с URL-адреса с Python в моей корпоративной среде, используя прокси-сервер моей компании, для этого я использую приведенный ниже код:
import socket
import requests
URL = 'http://www2.susep.gov.br/redarq.asp?arq=BaseCompleta.zip'
r = requests.get(URL, stream=True, proxies={'http': 'http://myemployee.com.br:8080'})
with open('BaseCompleta.zip', 'wb') as f:
for chunk in r:
f.write(chunk)
При выполнении кода загрузка начинается, но когда файл достигает 58 МБ, процесс прерывается, и я получаю следующее сообщение:
ConnectionResetError: [WinError 10054] Foi forçado o cancelamento de uma conexão existente pelo host remoto
During handling of the above exception, another exception occurred:
ProtocolError Traceback (most recent call last)
Будет ли эта ошибка исходить от прокси-сервера моей компании или с сайта, с которого я пытаюсь загрузить файл? Я уже пытался загрузить Python на свой персональный компьютер, и это успешно сработало.
Я уже пробовал использовать другой код:
from urllib import request
#define a url do arquivo
remote_url = 'http://www2.susep.gov.br/redarq.asp?arq=BaseCompleta.zip'
#define um nome local para salvar o arquivo
local_file = 'BaseCompleta.zip'
#cria o objeto de proxy
proxy = request.ProxyHandler({'http': 'http://myemployee.com.br:8080'})
#constrói um canal abridor de url com as configurações de proxy
opener = request.build_opener(proxy)
#instala o abridor de url no nível do módulo
request.install_opener(opener)
#realiza a requisição da url e o nome do arquivo que será baixado
request.urlretrieve(remote_url, local_file)
Наконец, ошибка была другой, но результат был тот же, файл загружается не полностью.
ContentTooShortError: <urlopen error retrieval incomplete: got only 57967700 out of 418325407 bytes>