urllib.parse.urlparse 没有读取参数

urllib.parse.urlparse not reading params

我正在尝试读取 python

中的参数
 urlparse('jdbc:mysql:@localhost:3306/mysql;user:pass?jdbc_driver_name=com.mysql.jdbc.Driver')

根据 documentation 参数被放置在分号之后,但在我的示例 url.

中我得到的参数是空字符串

来自源代码:

uses_params = ['', 'ftp', 'hdl', 'prospero', 'http', 'imap',
               'https', 'shttp', 'rtsp', 'rtspu', 'sip', 'sips',
               'mms', 'sftp', 'tel']

如果你的方案在此列表中,它只会解析参数。

def urlparse(url, scheme='', allow_fragments=True):
    url, scheme, _coerce_result = _coerce_args(url, scheme)
    splitresult = urlsplit(url, scheme, allow_fragments)
    scheme, netloc, url, query, fragment = splitresult
    if scheme in uses_params and ';' in url: # <------------------------------ Right here
        url, params = _splitparams(url)
    else:
        params = ''
    result = ParseResult(scheme, netloc, url, params, query, fragment)
    return _coerce_result(result)