Asynchronous DNS-over-HTTPS client for Python
Project description
aio-doh
Is a tiny asynchronous client for Google’s Public DNS-over-HTTPS service. It is built on top of asyncio and aiohttp
Installation
pip install aio-doh
Example usage
>>> from doh import DOHClient
>>> from asyncio import get_event_loop
>>>
>>> loop = get_event_loop()
>>> client = DOHClient(loop)
>>> loop.run_until_complete(client.resolve('example.com'))
['93.184.216.34']
>>>
API
The API is simple and small
- DOHClient.query(hostname, type, dnssec)
hostname - name of a target host; type - DNS record type for a query; dnssec - enable DNSSEC validation. Returns a complete DNS response as a python dictionary.
- DOHClient.resolve(hostname, type, dnssec)
hostname - name of a target host; type - DNS record type for a query; dnssec - enable DNSSEC validation. Returns a list of IP adresses.
- DOHClient.gethostbyname(hostname, type, dnssec)
hostname - name of a target host; type - DNS record type for a query; dnssec - enable DNSSEC validation. Returns the first IP adress found if any or raises an error.
Documentation
TODO
Contributing
File and issue or create a pull request.
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.