Python aiohttp client
Project description
aiohttp client
What is the difference from aiohttp.Client?
It is simpler and as a Requests
Install beta:
pip install aio-clients
Example:
Base reqeust:
import asyncio
from aio_clients import Http, Options
async def main():
r = await Http().get('https://google.com', o=Options(is_json=False, is_close_session=True))
print(f'code={r.code} body={r.body}')
asyncio.run(main())
Async reqeust
import asyncio
import aiohttp
from aio_clients import Http, Options
async def on_request_start(session, trace_config_ctx, params):
print("Starting request")
async def on_request_end(session, trace_config_ctx, params):
print("Ending request")
async def main():
trace_config = aiohttp.TraceConfig()
trace_config.on_request_start.append(on_request_start)
trace_config.on_request_end.append(on_request_end)
http = Http(
host='https://google.com/search',
option=Options(trace_config=trace_config, is_json=False),
)
r = await asyncio.gather(
http.get(q_params={'q': 'test'}),
http.get(q_params={'q': 'hello_world'}),
http.get(q_params={'q': 'ping'}),
)
print(f'status code={[i.code for i in r]} body={[i.body for i in r]}')
await http.close()
asyncio.run(main())
Multipart reqeust:
import asyncio
from aio_clients import Http, Options
from aio_clients.multipart import Easy, Form, File, Writer
async def main():
with Easy('form-data') as form:
form.add_form(Form(key='chat_id', value=12345123))
form.add_form(Form(key='audio', value='hello world'))
form.add_form(File(key='file', value=b'hello world file', file_name='test.py'))
r = await Http(option=Options(is_close_session=True, is_json=False)).post(
'http://localhost:8081',
form=form,
)
writer = Writer()
await form.write(writer)
print(f'code={r.code} body={r.body}')
print(f'full body:\n{writer.buffer.decode()}')
asyncio.run(main())
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
aio-clients-1.0.0a1.tar.gz
(5.5 kB
view hashes)
Built Distribution
Close
Hashes for aio_clients-1.0.0a1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9c5be698cd7cbb32467f5995cb230ba2272f9e49f063e2531e4b53d354a2fb50 |
|
MD5 | 52b32c71d39833103900e43626353377 |
|
BLAKE2b-256 | 3f9d0a8b2ab51c19fd2c4347059b227bc6596cd2632d4ac24c9260c0f7fb23b6 |