3 """Get your public IP address from a UDP socket connection
6 import socket as _socket
9 def get_my_ip(host, port=80):
10 with _socket.socket(_socket.AF_INET, _socket.SOCK_DGRAM) as s:
11 s.connect((host, port))
12 return s.getsockname()[0]
15 if __name__ == '__main__':
16 import argparse as _argparse
18 parser = _argparse.ArgumentParser(description=__doc__)
20 'host', default='software-carpentry.org', nargs='?')
22 'port', default=80, type=int, nargs='?')
24 args = parser.parse_args()
26 print(get_my_ip(host=args.host, port=args.port))