netloc规则用例的通用库。
os-netloc-rule的Python项目详细描述
os netloc规则
用于匹配netloc的库。在
Netloc是一个用来描述URL位置的概念,它可以看作三元组(主机、端口、方案)
Netloc match是处理URL时非常常见和有用的操作。例如,netloc blacklist是netloc的一系列规则,其中ALLOWED或DISALLOWED:
abc.example.com|80|http ALLOWED
.example.com|| DISALLOWED
您可以跳过处理http://www.example.com/001.html
,因为它与.example.com|| DISALLOWED
匹配。在
安装
^{pr2}$原料药
- 在
加载netloc和规则
在from os_netloc_rule import Matcher netloc_rules = [ ('www.example.com||', 1), ('abc.example.com||', 2), ('abc.example.com|8080|', 3), ] matcher = Matcher() for netloc_string, rule in rules: matcher.load_from_string(netloc_string, rule)
- 在
匹配netloc
在matcher.match('www.example.com') matcher.match('abc.example.com', '8080', 'http')
- 在
如果同一个netloc有不同的规则,则后者默认覆盖前者。但是您可以在加载规则时自定义自己的
cmp
函数
在def cmp(former, latter): return -1 if former > latter else 1 matcher.load(host, port, scheme, rule, cmp=cmp)
- 在
iter netloc公司
在for netloc, rule in matcher.iter(): pass
单元测试
tox
许可证
麻省理工学院授权。在
- 项目
标签: