如何檢查變量是否包含在python中的DNS名稱或IP地址?python:檢查IP或DNS
3
A
回答
6
您可以使用Python的re模塊來檢查變量的內容是否爲IP地址。 IP地址爲
舉例:
import re
my_ip = "192.168.1.1"
is_valid = re.match("^(([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])$", my_ip)
if is_valid:
print "%s is a valid ip address" % my_ip
例如,對於主機名:
import re
my_hostname = "testhostname"
is_valid = re.match("^(([a-zA-Z]|[a-zA-Z][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z]|[A-Za-z][A-Za-z0-9\-]*[A-Za-z0-9])$", my_hostname)
if is_valid:
print "%s is a valid hostname" % my_hostname
+1
IPv6如何? – Sardathrion 2012-07-20 09:22:04
+1
http://stackoverflow.com/questions/319279/how-to-validate-ip-address-in-python/4017219#4017219 – 2012-07-20 09:54:44
1
我想看看這個SO問題的答案:
Regular expression to match DNS hostname or IP Address?
主要的一點是把這兩個正則表達式和它們放在一起來獲得desi紅色的結果。
0
print 'ip' if s.split('.')[-1].isdigit() else 'domain name'
這並不驗證任何一個是否格式良好。
8
這將工作。
import socket
host = "localhost"
if socket.gethostbyname(host) == host:
print "It's an IP"
else:
print "It's a host name"
相關問題
- 1. 檢查ip和DNS名稱
- 2. Python IP檢查
- 3. DNS IP檢查cpanel提醒/通知
- 4. DNS檢查與多個域和IP
- 5. 如何檢查DNS?
- 6. DNS動態IP
- 7. 私人IP的假DNS查詢
- 8. DNS查詢:從DNS /主機名獲取IP地址
- 9. 從DNS獲取IP
- 10. 檢查IP地址類型,IPv4或IPv6
- 11. Python的DNS查找器
- 12. 檢查IP地址
- 13. 瞭解DNS和IP地址
- 14. DevOps,DNS和公共IP
- 15. 寫DNS而不是IP?
- 16. DNS服務器IP地址
- 17. Python得到如何檢測公共DNS?
- 18. 查詢DNS服務記錄查找主機名和TCP/IP
- 19. 如何檢查IP地址或代理工作或沒有
- 20. 如何使用pod IP上的kube-dns啓用反向DNS查找?
- 21. 檢查真實IP IP地址的NodeJS
- 22. 使用perl和Net :: DNS進行DNS檢查
- 23. 如何強制Dns.GetHostAddresses .NET方法僅查詢DNS或DNS緩存?
- 24. 如何在PHP中檢測DNS服務器和IP地址
- 25. 如何使用C++在Windows上檢索我的ISP的DNS IP?
- 26. 函數檢查DNS服務器
- 27. 檢查在Android中禁用DNS緩存
- 28. 使用DNS檢查域的可用性
- 29. 確定是否解析主機DNS名稱或IP
- 30. web.config中的Azure DNS主機名或IP引用?
可能重複http://stackoverflow.com/q/3462784/280730 – 2011-03-28 15:39:00
和http://stackoverflow.com/q/319279/280730 [正則表達式匹配的主機名或IP地址的 – 2011-03-28 15:39:50
可能重複? ](http://stackoverflow.com/questions/106179/regular-expression-to-match-hostname-or-ip-address) – 2011-03-28 15:42:38