| #!/usr/bin/python -S |
| # Copyright 2012 Google Inc. All Rights Reserved. |
| # |
| """Request a simple URL from all the known gstatic.com IP/IPv6 addresses.""" |
| |
| __author__ = 'apenwarr@google.com (Avery Pennarun)' |
| |
| import socket |
| import sys |
| import time |
| |
| try: |
| import monotime #gpylint: disable-msg=W0611,C6204 |
| except ImportError: |
| pass |
| |
| |
| HOSTNAME = 'gstatic.com' |
| PORT = 80 |
| |
| |
| _time = getattr(time, 'monotime', time.time) |
| |
| |
| def main(): |
| try: |
| addrs = socket.getaddrinfo(HOSTNAME, PORT, |
| 0, socket.SOCK_STREAM, 0, |
| socket.AI_ALL) |
| except socket.error: |
| print HOSTNAME, 'DNS-ERR' |
| return 1 |
| |
| bad = 0 |
| for family, typ, proto, _, addr in addrs: |
| ip = addr[0] |
| s = socket.socket(family, typ, proto) |
| try: |
| s.connect(addr) |
| except socket.error: |
| print ip, 'ERR' |
| bad = 1 |
| continue |
| start = _time() |
| s.send('GET /generate_204 HTTP/1.0\r\n' |
| 'User-Agent: gfiber-cpe-gstatic\r\n' |
| '\r\n') |
| buf = s.recv(4096) |
| end = _time() |
| if not buf: |
| print ip, 'ERR' |
| bad = 1 |
| continue |
| print ip, '%.1fms' % ((end - start) * 1000) |
| return bad |
| |
| |
| if __name__ == '__main__': |
| sys.exit(main()) |