ip_util.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. """
  2. IP工具类
  3. """
  4. import socket
  5. import statistics
  6. import requests
  7. from flask import json
  8. def get_ip_info(ip):
  9. response = requests.get('http://whois.pconline.com.cn/ipJson.jsp?ip=%s&json=true' % (ip))
  10. if response.ok:
  11. print(response.text)
  12. data = json.loads(response.text)
  13. pro = data['pro']
  14. city = data['city']
  15. addr = data['addr']
  16. print('%s, %s, %s', pro, city, addr)
  17. def get_city(ip):
  18. response = requests.get('http://whois.pconline.com.cn/ipJson.jsp?ip=%s&json=true' % (ip))
  19. if response.ok:
  20. data = json.loads(response.text)
  21. city = data['city']
  22. return city
  23. else:
  24. return None
  25. """
  26. 获取本地IP
  27. """
  28. def get_local_ip():
  29. ip = ''
  30. try:
  31. s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
  32. s.connect(('8.8.8.8', 80))
  33. ip = s.getsockname()[0]
  34. finally:
  35. s.close()
  36. return ip
  37. # 获取主机ip
  38. def get_current_ip():
  39. with socket.socket(socket.AF_INET, socket.SOCK_DGRAM) as s:
  40. s.connect(("8.8.8.8", 80))
  41. ip = s.getsockname()[0]
  42. return ip