netloc规则用例的通用库。

os-netloc-rule的Python项目详细描述


os netloc规则

Build StatuscodecovPyPI - Python VersionPyPI

用于匹配netloc的库。在

Netloc是一个用来描述URL位置的概念,它可以看作三元组(主机、端口、方案)

Netloc match是处理URL时非常常见和有用的操作。例如,netloc blacklist是netloc的一系列规则,其中ALLOWEDDISALLOWED

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

许可证

麻省理工学院授权。在

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

推荐PyPI第三方库


热门话题
java GWT对话框从不显示帮助   java在简单的MapReduce作业中带来了极大的开销   javacom。mysql。jdbc。例外情况。jdbc4。MySQLIntegrityConstraintViolationException:列不能为null/onetoone映射   如何通过TCP/IP与Java和Labview进行通信,并发送浮点数据缓冲区?   java Apache camel与spring事件基本示例   java如何使我的秒表应用程序在完全关闭后仍能运行?   java Nutch爬网错误输入路径不存在   java是Mapreduce中按值传递还是按引用传递的键?   正则表达式替换java中的特定字符   Java DOM XML解析   java Eclipse未显示服务器的项目   使用Arraylist进行快速排序的排序Java实现疑难解答   java Split text包含字符串列表中的数字   检查Java中的两个lambda是否执行相同的代码?   java为什么dispatchTouchEvent避免在屏幕上单击?