python中的ip格式检测

对于外部传入的ip,需要对其进行格式检查,在python中有以下几种方式:

  1.正则表达式

pat = re.compile("^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$")
ip_match = pat.match(ip)

   2.利用内置socket模块

import socket
def valid_ip(address):
    try:
        socket.inet_aton(address)
        return True
    except:
        return False

print valid_ip('10.10.20.30')
print valid_ip('999.10.20.30')
print valid_ip('gibberish')

3.使用内置IPY模块

from IPy import IP

print(IP('127.0.0.1'))  返回127.0.0.1

print(IP('1==0.0.1'))   返回异常

  推荐后两种方式,真实探测结果更为准确

Written by

说点什么

欢迎讨论

avatar

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

  Subscribe  
提醒