#python #amazon-web-services #amazon-s3 #proxy #boto3
#python #amazon-веб-сервисы #amazon-s3 #прокси #boto3
Вопрос:
Я хочу написать скрипт Python для загрузки из корзины S3 с помощью Boto3. Мой код работает нормально, когда не используется прокси, но я должен запустить его через прокси. Я установил прокси в Boto3.client(config=)
и получаю следующую ошибку.
Прокси устанавливается как:
s3 = boto3.client('s3',
aws_access_key_id = usrkey,
aws_secret_access_key = sctkey,
region_name = 'eu-west-2',
config=Config(proxies={'http': '<proxy-server>:<port>'})
)
все равно появляется ошибка
Traceback (most recent call last):
File "C:UsersHelloAppDataLocalProgramsPythonPython38-32libsite-packagesurllib3connection.py", line 159, in _new_conn
conn = connection.create_connection(
File "C:UsersHelloAppDataLocalProgramsPythonPython38-32libsite-packagesurllib3utilconnection.py", line 61, in create_connection
for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
File "C:UsersHelloAppDataLocalProgramsPythonPython38-32libsocket.py", line 918, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno 11001] getaddrinfo failed
During handling of the above exception, another exception occurred:
и в конце:
botocore.exceptions.EndpointConnectionError: Could not connect to the endpoint URL:"<URL>".
Я могу подключиться с помощью WinSCP к AWS-S3 с помощью прокси, который работает нормально. Но появляется предупреждающее сообщение, которое я должен принимать каждый раз, нажимая ok. В чем здесь проблема, я не понимаю с Python.
Ответ №1:
Убедитесь, что у вас <proxy-server>
есть имя хоста:
config=Config(proxies={'http': 'example.com:port'}
Не URL-адрес:
config=Config(proxies={'http': 'http://example.com:port'}