python-3.x Punycode域不处理请求

s2j5cfk0  于 2022-12-24  发布在  Python
关注(0)|答案(1)|浏览(133)

有没有简单的方法来获取punycode域名?我试过使用requests模块,但是没有用。
下面的代码不起作用:

import requests
requests.get("https://💩.la")
InvalidURL: Failed to parse: https://💩.la

使用Python 3.10.4requests==2.28.1urllib3==1.26.13

pvcm50d1

pvcm50d11#

我使用以下函数解决了问题

from urllib.parse import urlparse, urlunparse

def convert_idna_address(url: str) -> str:
    parsed_url = urlparse(url)
    return urlunparse(
        parsed_url._replace(netloc=parsed_url.netloc.encode("idna").decode("ascii"))
    )

相关问题