对于外部传入的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')) 返回异常
推荐后两种方式,真实探测结果更为准确
说点什么
欢迎讨论