事实:TCP / UDP端口号范围从1-65535
开始。
但是,我刚刚发现validators.url
不接受1-10之间的端口号?
>>> for i in range(1,11): validators.url('http://example.com:%s' %i)
...
ValidationFailure(func=url, args={'value': 'http://example.com:1', 'public': False})
ValidationFailure(func=url, args={'value': 'http://example.com:2', 'public': False})
ValidationFailure(func=url, args={'value': 'http://example.com:3', 'public': False})
ValidationFailure(func=url, args={'value': 'http://example.com:4', 'public': False})
ValidationFailure(func=url, args={'value': 'http://example.com:5', 'public': False})
ValidationFailure(func=url, args={'value': 'http://example.com:6', 'public': False})
ValidationFailure(func=url, args={'value': 'http://example.com:7', 'public': False})
ValidationFailure(func=url, args={'value': 'http://example.com:8', 'public': False})
ValidationFailure(func=url, args={'value': 'http://example.com:9', 'public': False})
True
>>>
它也接受大于65535的端口号。
>>> for i in range(65535,65538): validators.url('http://example.com:%s' %i)
...
True
True
True
>>>
这种异常行为是否有任何原因?
是否可以仅在1-65535
与Python3 validators.url
之间接受有效的端口号?