host, port = parse_args()
 out_dir = os.path.join(os.getcwd(), host)
 if not os.path.exists(out_dir):
     try:
         os.mkdir(out_dir)
     except OSError:
         out_dir = mkdtemp()
 print('Using %s as output directory' % (out_dir))
 print('Trying to connect to %s:%i' % (host, port))
 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 sock.connect((host, port))
 connection = TLSConnection(sock)
 connection.handshakeClientCert(nextProtos=["spdy/%i" % SPDY_VERSION])
 print ('TLS NPN Selected: %s' % connection.next_proto)
 spdy_ctx = Context(CLIENT, version=SPDY_VERSION)
 connection.write(get_site_resource(spdy_ctx, host))
 headers = {spdy_ctx._last_stream_id: {'path': 'index'}}
 res_files = {spdy_ctx._last_stream_id: (os.path.join(out_dir, 'index'), None)}
 resources = None
 goaway = False
 while not goaway:
     answer = connection.read() # Blocking
     spdy_ctx.incoming(answer)
     frame = get_frame(spdy_ctx)
     while frame:
         sid = getattr(frame, 'stream_id', None)
         if hasattr(frame, 'headers'):
             print ('<<', frame, 'Headers:', frame.headers) # DEBUG
             if sid not in headers:
                 headers[sid] = {}
             headers[sid].update(parse_headers(frame.headers))
Beispiel #2
0
if __name__ == '__main__':
    host, port = parse_args()

    print('Trying to connect to %s:%i' % (host, port))

    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.connect((host, port))
    connection = TLSConnection(sock)
    connection.handshakeClientCert(nextProtos=["spdy/%i" % SPDY_VERSION])
    print ('TLS NPN Selected: %r' % connection.next_proto)
    spdy_ctx = Context(CLIENT, version=SPDY_VERSION)
    ping_test(spdy_ctx)
    get_page(spdy_ctx, host)
    out = spdy_ctx.outgoing()
    #print str2hexa(str(out))
    connection.write(out)
    file_out = open('/tmp/spdyout.txt', 'wb')
    goaway = False
    content_type_id = {}
    while not goaway:
        answer = connection.read() # Blocking
        #print '<<\n', str2hexa(answer)
        spdy_ctx.incoming(answer)
        frame = get_frame(spdy_ctx)
        while frame:
            if hasattr(frame, 'headers'):
                print ('<<', frame, 'Headers:', frame.headers)
                content_type_id[frame.stream_id] = frame.headers.get('content-encoding')                      
            elif hasattr(frame, 'data'):
                data = frame.data
                # Handle gzipped data
 host, port = parse_args()
 out_dir = os.path.join(os.getcwd(), host)
 if not os.path.exists(out_dir):
     try:
         os.mkdir(out_dir)
     except OSError:
         out_dir = mkdtemp()
 print('Using %s as output directory' % (out_dir))
 print('Trying to connect to %s:%i' % (host, port))
 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 sock.connect((host, port))
 connection = TLSConnection(sock)
 connection.handshakeClientCert(nextProtos=["spdy/%i" % SPDY_VERSION])
 print('TLS NPN Selected: %s' % connection.next_proto)
 spdy_ctx = Context(CLIENT, version=SPDY_VERSION)
 connection.write(get_site_resource(spdy_ctx, host))
 headers = {spdy_ctx._last_stream_id: {'path': 'index'}}
 res_files = {
     spdy_ctx._last_stream_id: (os.path.join(out_dir, 'index'), None)
 }
 resources = None
 goaway = False
 while not goaway:
     answer = connection.read()  # Blocking
     spdy_ctx.incoming(answer)
     frame = get_frame(spdy_ctx)
     while frame:
         sid = getattr(frame, 'stream_id', None)
         if hasattr(frame, 'headers'):
             print('<<', frame, 'Headers:', frame.headers)  # DEBUG
             if sid not in headers:
Beispiel #4
0
if __name__ == '__main__':
    host, port = parse_args()

    print('Trying to connect to %s:%i' % (host, port))

    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.connect((host, port))
    connection = TLSConnection(sock)
    connection.handshakeClientCert(nextProtos=["spdy/%i" % SPDY_VERSION])
    print('TLS NPN Selected: %r' % connection.next_proto)
    spdy_ctx = Context(CLIENT, version=SPDY_VERSION)
    ping_test(spdy_ctx)
    get_page(spdy_ctx, host)
    out = spdy_ctx.outgoing()
    #print str2hexa(str(out))
    connection.write(out)
    file_out = open('/tmp/spdyout.txt', 'wb')
    goaway = False
    content_type_id = {}
    while not goaway:
        answer = connection.read()  # Blocking
        #print '<<\n', str2hexa(answer)
        spdy_ctx.incoming(answer)
        frame = get_frame(spdy_ctx)
        while frame:
            if hasattr(frame, 'headers'):
                print('<<', frame, 'Headers:', frame.headers)
                content_type_id[frame.stream_id] = frame.headers.get(
                    'content-encoding')
            elif hasattr(frame, 'data'):
                data = frame.data