get_public_ipaddr.py 575 B

12345678910111213141516171819202122
  1. #!/usr/bin/env python
  2. import re,urllib2,socket
  3. class Get_public_ip:
  4. socket.setdefaulttimeout(5)
  5. def getip(self):
  6. try:
  7. myip = self.visit("http://ip.taobao.com/ipSearch.php")
  8. except:
  9. try:
  10. myip = self.visit("http://ipv4.icanhazip.com/")
  11. except:
  12. myip = "So sorry!!!"
  13. return myip
  14. def visit(self,url):
  15. opener = urllib2.urlopen(url)
  16. if url == opener.geturl():
  17. str = opener.read()
  18. return re.search('\d+\.\d+\.\d+\.\d+',str).group(0)
  19. if __name__ == "__main__":
  20. getmyip = Get_public_ip()
  21. print getmyip.getip()