是否可以在aiobotocore Python模块中使用HTTPS代理?
问题描述:
使用来自Aiobotocore网站的例子和HTTPS代理这样的:是否可以在aiobotocore Python模块中使用HTTPS代理?
import asyncio
import aiobotocore
from aiobotocore.config import AioConfig as Config
AWS_ACCESS_KEY_ID = "xxx"
AWS_SECRET_ACCESS_KEY = "xxx"
async def go(loop):
bucket = 'dataintake'
filename = 'dummy.bin'
folder = 'aiobotocore'
key = '{}/{}'.format(folder, filename)
session = aiobotocore.get_session(loop=loop)
conf = Config(proxies={'http': '<http_proxy>:<http_proxy_port>', 'https': '<https_proxy>:<https_proxy_port>'})
async with session.create_client('s3', region_name='us-west-2',
aws_secret_access_key=AWS_SECRET_ACCESS_KEY,
aws_access_key_id=AWS_ACCESS_KEY_ID,
config=conf) as client:
# upload object to amazon s3
data = b'\x01'*1024
resp = await client.put_object(Bucket=bucket,
Key=key,
Body=data)
print(resp)
# getting s3 object properties of file we just uploaded
resp = await client.get_object_acl(Bucket=bucket, Key=key)
print(resp)
# get object from s3
response = await client.get_object(Bucket=bucket, Key=key)
# this will ensure the connection is correctly re-used/closed
async with response['Body'] as stream:
assert await stream.read() == data
# list s3 objects using paginator
paginator = client.get_paginator('list_objects')
async for result in paginator.paginate(Bucket=bucket, Prefix=folder):
for c in result.get('Contents', []):
print(c)
# delete object from s3
resp = await client.delete_object(Bucket=bucket, Key=key)
print(resp)
loop = asyncio.get_event_loop()
loop.run_until_complete(go(loop))
我收到以下错误:
ValueError: Only http proxies are supported
是否有可能以某种方式以其他方式使用HTTPS代理与aiobotocore或修改源代码以支持HTTPS代理是否容易?
答
下划线aiohttp库不支持HTTPS代理。
嗨,感谢您的评论 - 我也发现这个职位:https://github.com/aio-libs/aiohttp/issues/845在同一主题。所以它似乎是背后的群体意识到的东西,但不是那些具有高优先级的东西。然后我会试着研究替代方案。 – kfyhn