1. 设置cookies

cookies = {'xxx': 0}
async with aiohttp.ClientSession(headers=headers, cookies=cookies) as session:
result_text = None
try:
result = await session.post(url, timeout=timeout, data=data)
result_text = await result.text()
except Exception as e:
raise (e)
return result

2. 设置connector

#创建一个TCPConnector
conn=aiohttp.TCPConnector(verify_ssl=False)
#作为参数传入ClientSession
async with aiohttp.ClientSession(connector=conn) as session:

3. 设置timeout

timeout = aiohttp.ClientTimeout(total=60)
async with aiohttp.ClientSession(timeout=timeout) as session:
...
async with session.get(url, timeout=timeout) as resp:
...

4. 设置auth

#创建一个auth
auth = aiohttp.BasicAuth(login="admin", password="admin")
#作为参数传入auth
async with aiohttp.ClientSession(auth=auth) as session:

5. 设置param

payload = {'key1': 'value1', 'key2': 'value2'}
async with aiohttp.ClientSession() as session:
async with session.post(url, data=payload)
import ujson

payload = {'key1': 'value1', 'key2': 'value2'}
async with aiohttp.ClientSession(
json_serialize=ujson.dumps) as session:
await session.post(url, data=payload)

6. 读取文件

with open(filename, 'wb') as fd:
while True:
chunk = await resp.content.read(chunk_size)
if not chunk:
break
fd.write(chunk)
async def file_sender(file_name=None):
async with aiofiles.open(file_name, 'rb') as f:
chunk = await f.read(64*1024)
while chunk:
yield chunk
chunk = await f.read(64*1024)

# Then you can use file_sender as a data provider:

async with session.post('http://httpbin.org/post',
data=file_sender(file_name='huge_file')) as resp:
print(await resp.text())