跳转到主要内容

WHAGW URL实时标准的Python实现

项目描述

whatwg-url

Travis Codecov PyPI

WHAGW URL实时标准的Python实现。

此软件包实现的最新标准版本是2018年8月7日(提交49060c7

入门

使用pip安装whatwg-url软件包。

python -m pip install whatwg-url

然后像这样使用模块

import whatwg_url

url = whatwg_url.parse_url("https://www.google.com")
print(url)
# Url(scheme='https', hostname='www.google.com', port=None, path='', query='', fragment='')

功能

urllib.parse.urlparse()兼容

import whatwg_url

parseresult = whatwg_url.urlparse("https://seth:larson@www.google.com:1234/maps?query=string#fragment")

print(parseresult.scheme)  # 'https'
print(parseresult.netloc)  # 'www.google.com:1234'
print(parseresult.userinfo)  # 'seth:larson'
print(parseresult.path)  # '/maps'
print(parseresult.params)  # ''
print(parseresult.query)  # 'query=string'
print(parseresult.fragment)  # 'fragment'
print(parseresult.username)  # 'seth'
print(parseresult.password)  # 'larson'
print(parseresult.hostname)  # 'www.google.com'
print(parseresult.port)  # 1234
print(parseresult.geturl())  # 'https://seth:larson@www.google.com:1234/maps?query=string#fragment'

URL标准化

WHAGW URL规范描述了将URL输入标准化为可使用URL的方法。它处理百分编码、默认端口、路径、IPv4和IPv6地址、IDNA(2008年和2003年)、方案后的多个斜杠等。

import whatwg_url

print(whatwg_url.normalize_url("https://////www.google.com"))  # https://www.google.com
print(whatwg_url.normalize_url("https://www.google.com/dir1/../dir2"))  # https://www.google.com/dir2
print(whatwg_url.normalize_url("https://你好你好"))  # https://xn--6qqa088eba/
print(whatwg_url.normalize_url("https://0Xc0.0250.01"))  # https://192.168.0.1/

URL验证

print(whatwg_url.is_valid_url("https://www.google.com"))  # True
print(whatwg_url.is_valid_url("https://www .google.com"))  # False

相对URL

HTTP重定向通常包含相对URL(通过Location标题),需要应用于当前URL位置。指定base参数允许将相对URL作为输入,并将更改应用于新的URL对象。

import whatwg_url

url = whatwg_url.parse_url("../dev?a=1#f", base="https://www.google.com/maps")
print(url.href)  # https://www.google.com/dev?a=1#f

URL属性修改器

修改URL对象上的属性使用解析器和“状态覆盖”来正确修改URL对象。

url = whatwg_url.parse_url("http://www.google.com:443")

print(url.scheme)  # 'http'
print(url.port)  # 443

url.scheme = 'https'

print(url.scheme)  # 'https'
print(url.port)  # None

“可分割”

该模块是一个单独的文件,允许轻松将其集成到项目中。

许可证

Apache-2.0

变更日志

2018.8.26

添加

  • 添加了UrlParserUrl
  • 添加了UrlParser.parse_host()
  • 添加了UrlParser.parse_ipv4_host()
  • 添加了 Url.origin
  • 添加了 Url.authority
  • urlparseurljoin 添加以兼容 urllib3.parse.urlparseurllib.parse.urljoin
  • 支持 Python 2.7、3.4 和 3.5

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

whatwg-url-2018.8.26.tar.gz (30.4 kB 查看哈希)

上传时间