idna_ssl

Patch ssl.match_hostname for Unicode(idna) domains support


Keywords
ssl, Unicode, idna, match_hostname, aiohttp, asyncio
License
MIT
Install
pip install idna_ssl==1.0.0a1

Documentation

idna-ssl

info: Patch ssl.match_hostname for Unicode(idna) domains support
https://travis-ci.com/aio-libs/idna-ssl.svg?branch=master

Installation

pip install idna-ssl

Usage

from idna_ssl import patch_match_hostname  # noqa isort:skip
patch_match_hostname()  # noqa isort:skip

import asyncio

import aiohttp

URL = 'https://цфоут.мвд.рф/news/item/8065038/'


async def main():
    async with aiohttp.ClientSession() as session:
        async with session.get(URL) as response:
            print(response)


loop = asyncio.get_event_loop()
loop.run_until_complete(main())

Motivation

  • Here is 100% backward capability
  • Related aiohttp issue
  • Related Python bug
  • Related Python pull request
  • It is fixed (by January 27 2018) in upcoming Python 3.7, but IDNA2008 is still broken

Thanks

The library was donated by Ocean S.A.

Thanks to the company for contribution.