URL Normalization for Python

url-normalize的Python项目详细描述


url规范化

Build StatusCoverage Status

uri规范化函数:

  • 处理IDN域
  • 始终以小写字符提供uri方案。
  • 始终以小写字符提供主机(如果有)
  • 只在必要时执行百分比编码。
  • 百分比编码时始终使用大写A到F字符。
  • 防止非相对uri路径中出现点段。
  • 对于定义默认权限的方案,如果需要默认权限,请使用空权限。
  • 对于将空路径定义为等同于路径“/”的方案,请使用“/”。
  • 对于定义端口的方案,如果需要默认端口,请使用空端口
  • uri的所有部分都必须是来自unicode字符串的utf-8编码nfc

灵感来自Sam Ruby的urlnorm.py:http://intertwingly.net/blog/2004/08/04/Urlnorm

示例:

$ pip install url-normalize
Collecting url-normalize
...
Successfully installed future-0.16.0 url-normalize-1.3.3
$ python
Python 3.6.1 (default, Jul  82017, 05:00:20)[GCC 4.9.2] on linux
Type "help", "copyright", "credits" or "license"for more information.
> from url_normalize import url_normalize
> print(url_normalize('www.foo.com:80/foo'))
> https://www.foo.com/foo

历史记录:

  • 1.4.1:向url添加可选的param default_scheme_normalize
  • 1.4.0:一点代码重构和清理
  • 1.3.3:支持空字符串和双斜杠URL(//domain.tld)
  • 1.3.2:相同的代码同时支持Python3和Python2
  • 1.3.1:Python3兼容性
  • 1.2.1:PEP8,setup.py
  • 1.1.2:对Shebang的支持(!)网址
  • 1.1.1:在适当的时候默认使用“http”模式
  • 1.1.0:添加了对IDN域的处理
  • 1.0.0:代码PEP8
  • 0.1.0:从Sam Ruby的urlnorm.py派生

许可证:“Python”(PSF)许可证

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在jetty请求日志中添加milliscond字段?   java在使用Scanner类从文件读取信息时遇到问题   为什么。类不适用于泛型类型?   SQLite插入上的java空指针异常   java能告诉我们Guava缓存是在禁用统计数据的情况下构建的吗?   java在应用程序中使用常量   java无法使用AutoIT和Selenium Webdriver在所需位置/文件夹保存图像   java如何在jtable中更新jprogress栏   java是比较给定日期和当前日期(在给定时区中没有时间段)的最佳方法   安卓代码中的java错误   java无法访问实体类中的字段   java如何在tomcat中处理三个JDBC连接池?   java无法使用Spring Security保护AngularJS页面   如何在没有TCP/IP协议栈的情况下用Java发送以太帧