1
0
mirror of https://github.com/webrecorder/pywb.git synced 2025-03-24 06:59:52 +01:00

- cdx server bootstrap configured, #12

- pywb_init module inits from ./test directory

misc:
- router has lookahead for '/'
- dechunk even for transparent/binary
- 'text' query mode displays cdx
This commit is contained in:
Ilya Kreymer 2014-01-27 21:46:38 -08:00
parent c55bdf0e1f
commit 8732499dd5
13 changed files with 235 additions and 317 deletions

View File

@ -34,8 +34,13 @@ class ArchivalRequestRouter:
# of request uri (excluding first '/') # of request uri (excluding first '/')
#================================================================= #=================================================================
class Route: class Route:
def __init__(self, regex, handler, coll_group = 0):
self.regex = re.compile(regex) # match upto next slash
SLASH_LOOKAHEAD ='(?=/)'
def __init__(self, regex, handler, coll_group = 0, lookahead = SLASH_LOOKAHEAD):
self.regex = re.compile(regex + lookahead)
self.handler = handler self.handler = handler
# collection id from regex group (default 0) # collection id from regex group (default 0)
self.coll_group = coll_group self.coll_group = coll_group

View File

@ -7,16 +7,60 @@ import re
from heapq import merge from heapq import merge
from collections import deque from collections import deque
class LocalCDXServer:
def __init__(sources):
self.sources = sources
pass
#=================================================================
def cdx_text_out(cdx, fields):
if not fields:
return str(cdx)
else:
return ' '.join(map(lambda x: cdx[x], fields.split(',')))
#=================================================================
def cdx_serve(key, params, sources, match_func = binsearch.iter_exact):
cdx_iter = merge_sort_streams(sources, key, match_func)
cdx_iter = make_cdx_iter(cdx_iter)
resolve_revisits = params.get('resolve_revisits', False)
if resolve_revisits:
cdx_iter = cdx_resolve_revisits(cdx_iter)
filters = params.get('filters', None)
if filters:
cdx_iter = cdx_filter(cdx_iter, filters)
collapse_time = params.get('collapse_time', None)
if collapse_time:
cdx_iter = cdx_collapse_time_status(cdx_iter, collapse_time)
limit = int(params.get('limit', 1000000))
reverse = params.get('reverse', False)
if reverse:
cdx_iter = cdx_reverse(cdx_iter, limit)
closest_to = params.get('closest_to', None)
if closest_to:
cdx_iter = cdx_sort_closest(closest_to, cdx_iter, limit)
if limit:
cdx_iter = cdx_limit(cdx_iter, limit)
def write_cdx(fields):
for cdx in cdx_iter:
yield cdx_text_out(cdx, fields) + '\n'
return write_cdx(params.get('fields'))
#=================================================================
# merge multiple cdx streams
def merge_sort_streams(sources, key, iter_func): def merge_sort_streams(sources, key, iter_func):
""" """
>>> test_cdx(key = 'org,iana)/', sources = ['dupes.cdx', 'iana.cdx']) >>> test_cdx(key = 'org,iana)/', sources = [test_dir + 'dupes.cdx', test_dir + 'iana.cdx'])
org,iana)/ 20140126200624 http://www.iana.org/ text/html 200 OSSAPWJ23L56IYVRW3GFEAR4MCJMGPTB - - 2258 334 iana.warc.gz org,iana)/ 20140126200624 http://www.iana.org/ text/html 200 OSSAPWJ23L56IYVRW3GFEAR4MCJMGPTB - - 2258 334 iana.warc.gz
org,iana)/ 20140127171238 http://iana.org unk 302 3I42H3S6NNFQ2MSVX7XZKYAYSCX5QBYJ - - 343 1858 dupes.warc.gz org,iana)/ 20140127171238 http://iana.org unk 302 3I42H3S6NNFQ2MSVX7XZKYAYSCX5QBYJ - - 343 1858 dupes.warc.gz
org,iana)/ 20140127171238 http://www.iana.org/ warc/revisit - OSSAPWJ23L56IYVRW3GFEAR4MCJMGPTB - - 536 2678 dupes.warc.gz org,iana)/ 20140127171238 http://www.iana.org/ warc/revisit - OSSAPWJ23L56IYVRW3GFEAR4MCJMGPTB - - 536 2678 dupes.warc.gz
@ -137,28 +181,30 @@ def cdx_filter(cdx_iter, filter_strings):
#================================================================= #=================================================================
# sort cdx by closest to timestamp # collapse by timestamp and status code
def cdx_collapse_time(cdx_iter, timelen = 10): def cdx_collapse_time_status(cdx_iter, timelen = 10):
""" """
# unresolved revisits, different statuscode results in an extra repeat
>>> test_cdx(key = 'org,iana)/_css/2013.1/screen.css', collapse_time = 11) >>> test_cdx(key = 'org,iana)/_css/2013.1/screen.css', collapse_time = 11)
org,iana)/_css/2013.1/screen.css 20140126200625 http://www.iana.org/_css/2013.1/screen.css text/css 200 BUAEPXZNN44AIX3NLXON4QDV6OY2H5QD - - 8754 41238 iana.warc.gz org,iana)/_css/2013.1/screen.css 20140126200625 http://www.iana.org/_css/2013.1/screen.css text/css 200 BUAEPXZNN44AIX3NLXON4QDV6OY2H5QD - - 8754 41238 iana.warc.gz
org,iana)/_css/2013.1/screen.css 20140126200653 http://www.iana.org/_css/2013.1/screen.css warc/revisit - BUAEPXZNN44AIX3NLXON4QDV6OY2H5QD - - 533 328367 iana.warc.gz
org,iana)/_css/2013.1/screen.css 20140126201054 http://www.iana.org/_css/2013.1/screen.css warc/revisit - BUAEPXZNN44AIX3NLXON4QDV6OY2H5QD - - 543 706476 iana.warc.gz org,iana)/_css/2013.1/screen.css 20140126201054 http://www.iana.org/_css/2013.1/screen.css warc/revisit - BUAEPXZNN44AIX3NLXON4QDV6OY2H5QD - - 543 706476 iana.warc.gz
# resolved revisits
>>> test_cdx(key = 'org,iana)/_css/2013.1/screen.css', collapse_time = 11, resolve_revisits = True) >>> test_cdx(key = 'org,iana)/_css/2013.1/screen.css', collapse_time = 11, resolve_revisits = True)
org,iana)/_css/2013.1/screen.css 20140126200625 http://www.iana.org/_css/2013.1/screen.css text/css 200 BUAEPXZNN44AIX3NLXON4QDV6OY2H5QD - - 8754 41238 iana.warc.gz - - - org,iana)/_css/2013.1/screen.css 20140126200625 http://www.iana.org/_css/2013.1/screen.css text/css 200 BUAEPXZNN44AIX3NLXON4QDV6OY2H5QD - - 8754 41238 iana.warc.gz - - -
org,iana)/_css/2013.1/screen.css 20140126201054 http://www.iana.org/_css/2013.1/screen.css text/css 200 BUAEPXZNN44AIX3NLXON4QDV6OY2H5QD - - 543 706476 iana.warc.gz 8754 41238 iana.warc.gz org,iana)/_css/2013.1/screen.css 20140126201054 http://www.iana.org/_css/2013.1/screen.css text/css 200 BUAEPXZNN44AIX3NLXON4QDV6OY2H5QD - - 543 706476 iana.warc.gz 8754 41238 iana.warc.gz
""" """
last_dedup_time = None last_token = None
for cdx in cdx_iter: for cdx in cdx_iter:
curr_dedup_time = cdx['timestamp'][:timelen] curr_token = (cdx['timestamp'][:timelen], cdx['statuscode'])
# yield if last_dedup_time is diff, otherwise skip # yield if last_dedup_time is diff, otherwise skip
if curr_dedup_time != last_dedup_time: if curr_token != last_token:
last_dedup_time = curr_dedup_time last_token = curr_token
yield cdx yield cdx
@ -167,7 +213,7 @@ def cdx_collapse_time(cdx_iter, timelen = 10):
# sort CDXCaptureResult by closest to timestamp # sort CDXCaptureResult by closest to timestamp
def cdx_sort_closest(closest, cdx_iter, limit = 10): def cdx_sort_closest(closest, cdx_iter, limit = 10):
""" """
>>> test_cdx(closest_to = '20140126200826', key = 'org,iana)/_css/2013.1/fonts/opensans-bold.ttf', timestamp_only = True) >>> test_cdx(closest_to = '20140126200826', key = 'org,iana)/_css/2013.1/fonts/opensans-bold.ttf', fields = 'timestamp', limit = 10)
20140126200826 20140126200826
20140126200816 20140126200816
20140126200805 20140126200805
@ -179,16 +225,25 @@ def cdx_sort_closest(closest, cdx_iter, limit = 10):
20140126200654 20140126200654
20140126200625 20140126200625
>>> test_cdx(closest_to = '20140126201306', key = 'org,iana)/dnssec', resolve_revisits = True, sources = [test_dir + 'dupes.cdx', test_dir + 'iana.cdx'])
org,iana)/dnssec 20140126201306 http://www.iana.org/dnssec text/html 302 3I42H3S6NNFQ2MSVX7XZKYAYSCX5QBYJ - - 442 772827 iana.warc.gz - - -
org,iana)/dnssec 20140126201307 https://www.iana.org/dnssec text/html 200 PHLRSX73EV3WSZRFXMWDO6BRKTVUSASI - - 2278 773766 iana.warc.gz - - -
>>> test_cdx(closest_to = '20140126201307', key = 'org,iana)/dnssec', resolve_revisits = True)
org,iana)/dnssec 20140126201307 https://www.iana.org/dnssec text/html 200 PHLRSX73EV3WSZRFXMWDO6BRKTVUSASI - - 2278 773766 iana.warc.gz - - -
org,iana)/dnssec 20140126201306 http://www.iana.org/dnssec text/html 302 3I42H3S6NNFQ2MSVX7XZKYAYSCX5QBYJ - - 442 772827 iana.warc.gz - - -
# equal dist prefer earlier # equal dist prefer earlier
>>> test_cdx(closest_to = '20140126200700', key = 'org,iana)/_css/2013.1/fonts/opensans-bold.ttf', resolve_revisits = True, timestamp_only = False, limit = 2) >>> test_cdx(closest_to = '20140126200700', key = 'org,iana)/_css/2013.1/fonts/opensans-bold.ttf', resolve_revisits = True, limit = 2)
org,iana)/_css/2013.1/fonts/opensans-bold.ttf 20140126200654 http://www.iana.org/_css/2013.1/fonts/OpenSans-Bold.ttf application/octet-stream 200 YFUR5ALIWJMWV6FAAFRLVRQNXZQF5HRW - - 548 482544 iana.warc.gz 117166 198285 iana.warc.gz org,iana)/_css/2013.1/fonts/opensans-bold.ttf 20140126200654 http://www.iana.org/_css/2013.1/fonts/OpenSans-Bold.ttf application/octet-stream 200 YFUR5ALIWJMWV6FAAFRLVRQNXZQF5HRW - - 548 482544 iana.warc.gz 117166 198285 iana.warc.gz
org,iana)/_css/2013.1/fonts/opensans-bold.ttf 20140126200706 http://www.iana.org/_css/2013.1/fonts/OpenSans-Bold.ttf application/octet-stream 200 YFUR5ALIWJMWV6FAAFRLVRQNXZQF5HRW - - 552 495230 iana.warc.gz 117166 198285 iana.warc.gz org,iana)/_css/2013.1/fonts/opensans-bold.ttf 20140126200706 http://www.iana.org/_css/2013.1/fonts/OpenSans-Bold.ttf application/octet-stream 200 YFUR5ALIWJMWV6FAAFRLVRQNXZQF5HRW - - 552 495230 iana.warc.gz 117166 198285 iana.warc.gz
>>> test_cdx(closest_to = '20140126200659', key = 'org,iana)/_css/2013.1/fonts/opensans-bold.ttf', resolve_revisits = True, timestamp_only = True, limit = 2) >>> test_cdx(closest_to = '20140126200659', key = 'org,iana)/_css/2013.1/fonts/opensans-bold.ttf', resolve_revisits = True, limit = 2, fields = 'timestamp')
20140126200654 20140126200654
20140126200706 20140126200706
>>> test_cdx(closest_to = '20140126200701', key = 'org,iana)/_css/2013.1/fonts/opensans-bold.ttf', resolve_revisits = True, timestamp_only = True, limit = 2) >>> test_cdx(closest_to = '20140126200701', key = 'org,iana)/_css/2013.1/fonts/opensans-bold.ttf', resolve_revisits = True, limit = 2, fields = 'timestamp')
20140126200706 20140126200706
20140126200654 20140126200654
@ -272,54 +327,13 @@ def cdx_resolve_revisits(cdx_iter):
import utils import utils
if __name__ == "__main__" or utils.enable_doctests(): if __name__ == "__main__" or utils.enable_doctests():
import os import os
import sys
test_dir = os.path.dirname(os.path.realpath(__file__)) + '/../test/' test_dir = os.path.dirname(os.path.realpath(__file__)) + '/../test/'
def create_test_cdx(test_file): def test_cdx(key, match_func = binsearch.iter_exact, sources = [test_dir + 'iana.cdx'], **kwparams):
path = os.path.dirname(os.path.realpath(__file__)) + '/../test/' + test_file for x in cdx_serve(key, kwparams, sources, match_func):
return binsearch.FileReader(path) sys.stdout.write(x)
def wrap_test_path(filenames):
return map(lambda x: test_dir + x, filenames)
test_cdx_iter = create_test_cdx('iana.cdx')
def test_cdx(key,
closest_to = None,
limit = 10,
collapse_time = None,
timestamp_only = False,
resolve_revisits = False,
reverse = False,
filters = None,
sources = ['iana.cdx'],
match_func = binsearch.iter_exact):
cdx_iter = merge_sort_streams(wrap_test_path(sources), key, match_func)
cdx_iter = make_cdx_iter(cdx_iter)
if resolve_revisits:
cdx_iter = cdx_resolve_revisits(cdx_iter)
if filters:
cdx_iter = cdx_filter(cdx_iter, filters)
if collapse_time:
cdx_iter = cdx_collapse_time(cdx_iter, collapse_time)
if reverse:
cdx_iter = cdx_reverse(cdx_iter, limit)
if closest_to:
cdx_iter = cdx_sort_closest(closest_to, cdx_iter, limit)
if limit:
cdx_iter = cdx_limit(cdx_iter, limit)
for cdx in cdx_iter:
print cdx['timestamp'] if timestamp_only else cdx
import doctest import doctest

View File

@ -2,10 +2,68 @@ import urllib
import urllib2 import urllib2
import wbexceptions import wbexceptions
import itertools import itertools
import surt
from collections import OrderedDict from collections import OrderedDict
from wbarchivalurl import ArchivalUrl from wbarchivalurl import ArchivalUrl
import binsearch
import cdxserve
import logging
import os
#=================================================================
class LocalCDXServer:
def __init__(self, sources):
self.sources = []
for src in sources:
if os.path.isdir(src):
for file in os.listdir(src):
if file.endswith('.cdx'):
full = src + file
logging.info('Adding CDX: ' + full)
self.sources.append(full)
else:
logging.info('Adding CDX: ' + src)
self.sources.append(src)
@staticmethod
def getQueryParams(wburl, limit = 150000, collapse_time = None, replay_closest = 10):
return {
wburl.QUERY:
{'collapse_time': collapse_time, 'filter': '!statuscode:(500|502|504)', 'limit': limit},
wburl.URL_QUERY:
{},
# raise Exception('Not Yet Implemented')
# {'collapse': 'urlkey', 'matchType': 'prefix', 'showGroupCount': True, 'showUniqCount': True, 'lastSkipTimestamp': True, 'limit': limit,
# 'fl': 'urlkey,original,timestamp,endtimestamp,groupcount,uniqcount',
# },
wburl.REPLAY:
{'filter': '!statuscode:(500|502|504)', 'limit': replay_closest, 'closest_to': wburl.timestamp, 'resolve_revisits': True},
wburl.LATEST_REPLAY:
{'reverse': True, 'filter': 'statuscode:[23]..', 'limit': '1', 'resolve_revisits': True}
}[wburl.type]
def load(self, url, params):
# convert to surt
key = surt.surt(url)
match_func = binsearch.iter_exact
print key + ' ' + urllib.urlencode(params, True)
return cdxserve.cdx_serve(key, params, self.sources, match_func)
#=================================================================
class RemoteCDXServer: class RemoteCDXServer:
""" """
>>> x = cdxserver.load('example.com', parse_cdx = True, limit = '2') >>> x = cdxserver.load('example.com', parse_cdx = True, limit = '2')

47
pywb/pywb_init.py Normal file
View File

@ -0,0 +1,47 @@
import archiveloader
import query
import indexreader
import replay
import replay_resolvers
import cdxserve
from archivalrouter import ArchivalRequestRouter, Route
import os
def pywb_config(head_insert = ''):
# Current test dir
test_dir = os.path.dirname(os.path.realpath(__file__)) + '/../test/'
# Standard loader which supports WARC/ARC files
aloader = archiveloader.ArchiveLoader()
# Source for cdx source
#query_h = query.QueryHandler(indexreader.RemoteCDXServer('http://cdx.example.com/cdx'))
#test_cdx = [test_dir + 'iana.cdx', test_dir + 'example.cdx', test_dir + 'dupes.cdx']
query_h = query.QueryHandler(indexreader.LocalCDXServer([test_dir]))
# Loads warcs specified in cdx from these locations
prefixes = [replay_resolvers.PrefixResolver(test_dir)]
# Create rewriting replay handler to rewrite records
replayer = replay.RewritingReplayHandler(resolvers = prefixes, archiveloader = aloader, headInsert = head_insert, buffer_response = True)
# Create Jinja2 based html query renderer
htmlquery = query.J2QueryRenderer('./ui/', 'query.html')
# Handler which combins query, replayer, and html_query
wb_handler = replay.WBHandler(query_h, replayer, htmlquery = htmlquery)
# Finally, create wb router
return ArchivalRequestRouter(
{
Route('echo_req', query.DebugEchoRequest()), # Debug ex: just echo parsed request
Route('pywb', wb_handler),
Route('cdx', query_h)
},
# Specify hostnames that pywb will be running on
# This will help catch occasionally missed rewrites that fall-through to the host
# (See archivalrouter.ReferRedirect)
hostpaths = ['http://localhost:8080/'])

View File

@ -27,7 +27,10 @@ class WBHandler:
query_response = self.query(wbrequest) query_response = self.query(wbrequest)
if (wbrequest.wb_url.type == wbrequest.wb_url.QUERY) or (wbrequest.wb_url.type == wbrequest.wb_url.URL_QUERY): if (wbrequest.wb_url.type == wbrequest.wb_url.QUERY) or (wbrequest.wb_url.type == wbrequest.wb_url.URL_QUERY):
return self.htmlquery(wbrequest, query_response) if self.htmlquery else query_response if wbrequest.wb_url.mod == 'text' or not self.htmlquery:
return query_response
else:
return self.htmlquery(wbrequest, query_response)
with utils.PerfTimer(wbrequest.env.get('X_PERF'), 'replay') as t: with utils.PerfTimer(wbrequest.env.get('X_PERF'), 'replay') as t:
return self.replay(wbrequest, query_response, self.query) return self.replay(wbrequest, query_response, self.query)
@ -262,25 +265,39 @@ class RewritingReplayHandler(ReplayHandler):
if response and response.cdx: if response and response.cdx:
self._checkRedir(wbrequest, response.cdx) self._checkRedir(wbrequest, response.cdx)
# Transparent!
if wbrequest.wb_url.mod == 'id_':
return response
rewrittenHeaders = self.headerRewriter.rewrite(response.status_headers, urlrewriter) rewrittenHeaders = self.headerRewriter.rewrite(response.status_headers, urlrewriter)
# non-text content type, just send through with rewritten headers
if rewrittenHeaders.textType is None:
response.status_headers = rewrittenHeaders.status_headers
return response
# Handle text rewriting
# TODO: better way to pass this? # TODO: better way to pass this?
stream = response._stream stream = response._stream
# de_chunking in case chunk encoding is broken
# TODO: investigate further
de_chunk = False
# handle transfer-encoding: chunked # handle transfer-encoding: chunked
if (rewrittenHeaders.containsRemovedHeader('transfer-encoding', 'chunked')): if (rewrittenHeaders.containsRemovedHeader('transfer-encoding', 'chunked')):
stream = archiveloader.ChunkedLineReader(stream) stream = archiveloader.ChunkedLineReader(stream)
de_chunk = True
# Transparent, though still may need to dechunk
if wbrequest.wb_url.mod == 'id_':
if de_chunk:
response.status_headers.remove_header('transfer-encoding')
response.body = self.create_stream_gen(stream)
return response
# non-text content type, just send through with rewritten headers
# but may need to dechunk
if rewrittenHeaders.textType is None:
response.status_headers = rewrittenHeaders.status_headers
if fix_chunk:
response.body = self.create_stream_gen(stream)
return response
# Handle text rewriting
# special case -- need to ungzip the body # special case -- need to ungzip the body
if (rewrittenHeaders.containsRemovedHeader('content-encoding', 'gzip')): if (rewrittenHeaders.containsRemovedHeader('content-encoding', 'gzip')):

View File

@ -7,7 +7,7 @@ def PrefixResolver(prefix, contains = ''):
def makeUrl(url): def makeUrl(url):
return [prefix + url] if (contains in url) else [] return [prefix + url] if (contains in url) else []
print "prefix: " + prefix + " contains: " + contains #print "prefix: " + prefix + " contains: " + contains
return makeUrl return makeUrl
#====================================== #======================================

View File

@ -38,45 +38,6 @@ and look for warcs at paths:
one could declare a `sample_wb_settings()` method as follows one could declare a `sample_wb_settings()` method as follows
''' '''
# TODO: simplify this!!
def sample_wb_settings():
import archiveloader
import query, indexreader
import replay, replay_resolvers
from archivalrouter import ArchivalRequestRouter, Route
# Standard loader which supports WARC/ARC files
aloader = archiveloader.ArchiveLoader()
# Source for cdx source
query_h = query.QueryHandler(indexreader.RemoteCDXServer('http://cdx.example.com/cdx'))
# Loads warcs specified in cdx from these locations
prefixes = [replay_resolvers.PrefixResolver('http://warcs.example.com/servewarc/'),
replay_resolvers.PrefixResolver('http://warcs.example.com/anotherpath/')]
# Create rewriting replay handler to rewrite records
replayer = replay.RewritingReplayHandler(resolvers = prefixes, archiveloader = aloader, headInsert = default_head_insert)
# Create Jinja2 based html query renderer
htmlquery = query.J2QueryRenderer('./ui/', 'query.html')
# Handler which combins query, replayer, and html_query
wb_handler = replay.WBHandler(query_h, replayer, htmlquery = htmlquery)
# Finally, create wb router
return ArchivalRequestRouter(
{
Route('echo_req', query.DebugEchoRequest()), # Debug ex: just echo parsed request
Route('mycoll', wb_handler)
},
# Specify hostnames that pywb will be running on
# This will help catch occasionally missed rewrites that fall-through to the host
# (See archivalrouter.ReferRedirect)
hostpaths = ['http://mywb.example.com:8080/'])
def create_wb_app(wb_router): def create_wb_app(wb_router):
@ -94,7 +55,7 @@ def create_wb_app(wb_router):
response = wb_router(env) response = wb_router(env)
if not response: if not response:
raise wbexceptions.NotFoundException(env['REL_REQUEST_URI'] + ' was not found') raise wbexceptions.NotFoundException('No handler for "{0}"'.format(env['REL_REQUEST_URI']))
except wbexceptions.InternalRedirect as ir: except wbexceptions.InternalRedirect as ir:
response = WbResponse(StatusAndHeaders(ir.status, ir.httpHeaders)) response = WbResponse(StatusAndHeaders(ir.status, ir.httpHeaders))
@ -133,23 +94,26 @@ def main():
config_name = os.environ.get('PYWB_CONFIG') config_name = os.environ.get('PYWB_CONFIG')
if not config_name: if not config_name:
config_name = 'pywb_init' config_name = 'pywb.pywb_init'
logging.info('PYWB_CONFIG not specified, attempting to load config from default module {0}'.format(config_name)) logging.info('PYWB_CONFIG not specified, loading default settings from module "{0}"'.format(config_name))
logging.info('')
module = importlib.import_module(config_name) module = importlib.import_module(config_name)
app = create_wb_app(module.pywb_config(default_head_insert)) app = create_wb_app(module.pywb_config(default_head_insert))
logging.info('\n\n*** pywb inited with settings from {0}.pywb_config()!\n'.format(config_name)) logging.info('')
logging.info('*** pywb inited with settings from {0}.pywb_config()!\n'.format(config_name))
return app return app
except Exception as e: except Exception as e:
# Otherwise, start with the sample settings # Otherwise, start with the sample settings
logging.exception('\n\n*** pywb could not init with settings from {0}.pywb_config()!\n'.format(config_name)) logging.exception('*** pywb could not init with settings from {0}.pywb_config()!\n'.format(config_name))
raise e raise e
#================================================================= #=================================================================
if __name__ == "__main__" or utils.enable_doctests(): if __name__ == "__main__" or utils.enable_doctests():
import pywb_init
# Test sample settings # Test sample settings
application = create_wb_app(sample_wb_settings()) application = create_wb_app(pywb_init.pywb_config(default_head_insert))
else: else:
application = main() application = main()

View File

@ -171,7 +171,12 @@ class StatusAndHeaders:
if (value[0].lower() == nameLower): if (value[0].lower() == nameLower):
return value[1] return value[1]
return None def remove_header(self, name):
nameLower = name.lower()
for x in xrange(len(self.headers) - 1, -1, -1):
if self.headers[x][0].lower() == nameLower:
del self.headers[x]
break
def __repr__(self): def __repr__(self):
return "StatusAndHeaders(protocol = '{0}', statusline = '{1}', headers = {2})".format(self.protocol, self.statusline, pprint.pformat(self.headers, indent = 2)) return "StatusAndHeaders(protocol = '{0}', statusline = '{1}', headers = {2})".format(self.protocol, self.statusline, pprint.pformat(self.headers, indent = 2))

2
run.sh
View File

@ -3,7 +3,7 @@
mypath=$(cd `dirname $0` && pwd) mypath=$(cd `dirname $0` && pwd)
# Setup init module # Setup init module
export 'PYWB_CONFIG=globalwb' #export 'PYWB_CONFIG=globalwb'
app="pywb.wbapp" app="pywb.wbapp"

View File

@ -1,3 +1,4 @@
CDX N b a m s k r M S V g CDX N b a m s k r M S V g
com,example)/?example=1 20140103030321 http://example.com?example=1 text/html 200 B2LTWWPUOYAH7UIPQ7ZUPQ4VMBSVC36A - - 1043 333 example.warc.gz com,example)/?example=1 20140103030321 http://example.com?example=1 text/html 200 B2LTWWPUOYAH7UIPQ7ZUPQ4VMBSVC36A - - 1043 333 example.warc.gz
com,example)/?example=1 20140103030341 http://example.com?example=1 warc/revisit - B2LTWWPUOYAH7UIPQ7ZUPQ4VMBSVC36A - - 553 1864 example.warc.gz com,example)/?example=1 20140103030341 http://example.com?example=1 warc/revisit - B2LTWWPUOYAH7UIPQ7ZUPQ4VMBSVC36A - - 553 1864 example.warc.gz
org,iana)/domains/example 20140128051539 http://www.iana.org/domains/example text/html 302 JZ622UA23G5ZU6Y3XAKH4LINONUEICEG - - 577 2907 example.warc.gz

Binary file not shown.

View File

@ -1,193 +0,0 @@
CDX N b a m s k r M S V g
gov,nist)/ 20140126192426 http://www.nist.gov/ warc/revisit - PQFFO2MQ3SX7TFYUQL3ZFQCUI2PVJ7GJ - - 667 336 test.warc.gz
gov,nist)/commonspot/javascript/browser-all.js 20140126192427 http://www.nist.gov/commonspot/javascript/browser-all.js application/x-javascript 200 SPCVZQLHVLCC3X7A6P23TK6VYQ525UZX - - 3972 1486 test.warc.gz
gov,nist)/commonspot/commonspot.css 20140126192427 http://www.nist.gov/commonspot/commonspot.css text/css 200 RTD2ZTDVHEGUXEPUFJUKK42T6E6TZGQM - - 4374 5998 test.warc.gz
gov,nist)/style/nist-styles.css 20140126192427 http://www.nist.gov/style/nist-styles.css warc/revisit - YHQ23OGXPSN7QVAHA3JB5D2SR45XG67P - - 547 10909 test.warc.gz
gov,nist)/style/nist-subsite-overrides.css 20140126192427 http://www.nist.gov/style/nist-subsite-overrides.css warc/revisit - 76STS6E3XWIMQE4UKLK45R2HCAZHOJGS - - 557 11992 test.warc.gz
gov,nist)/style/default.css 20140126192427 http://www.nist.gov/style/default.css warc/revisit - 2LF345KIR7K2D72RTGD5YZP7XC767TFB - - 550 13096 test.warc.gz
gov,nist)/js/federated-analytics.all.min.js?agency=nist&pua=ua-37115410-1&yt=true 20140126192427 http://www.nist.gov/js/federated-analytics.all.min.js?agency=NIST&pua=UA-37115410-1&yt=true warc/revisit - TUQLSDJSE6AJMHX7WMRPYDBKHJODDSNI - - 605 14181 test.warc.gz
gov,nist)/js/nist-exit-script.js 20140126192427 http://www.nist.gov/js/nist-exit-script.js warc/revisit - ZNR7SPZGPS5QN4EZPPPZDAY7FK3LBNLU - - 557 15357 test.warc.gz
com,googleapis,ajax)/ajax/libs/jquery/1.7.2/jquery.min.js 20140126192427 http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js warc/revisit - VPGSXIJTJDYXRMLRIG2ELPEZ6GIX2R5P - - 654 16444 test.warc.gz
gov,nist)/customcf/foresee/foresee-trigger.js 20140126192428 http://www.nist.gov/customcf/foresee/foresee-trigger.js application/x-javascript 200 KSIRZ6JKRLFCT2WAJQCY2JFHTR7URPSI - - 19202 17601 test.warc.gz
gov,nist)/commonspot/pagemode/always-include-common.js 20140126192428 http://www.nist.gov/commonspot/pagemode/always-include-common.js application/x-javascript 200 5KGH5UFBOJYFYIIUXPOR5M6AU7JTESPJ - - 1045 37340 test.warc.gz
gov,nist)/commonspot/pagemode/always-include-ns.js 20140126192428 http://www.nist.gov/commonspot/pagemode/always-include-ns.js application/x-javascript 200 F3YIXDMUEIYFQAMBQDRQHIR67ODARWKS - - 1605 38932 test.warc.gz
com,google,translate)/translate_a/element.js?cb=googletranslateelementinit 20140126192428 http://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit text/javascript 200 HVWT4O5N3AGO2OYUJ3B6JVIYDWTSN3R5 - - 1269 41083 test.warc.gz
gov,nist)/images/banner_graphics/homepage_banner.jpg 20140126192428 http://www.nist.gov/images/banner_graphics/homepage_banner.jpg warc/revisit - ICDGUE3GD4SDQTUWOI4ROQSJAZYTL6GZ - - 561 42860 test.warc.gz
gov,nist)/style/sliderstyles/default.css 20140126192428 http://www.nist.gov/style/sliderstyles/default.css warc/revisit - MQRO2VAVYQF7V52LWHQNVYYCMEG3PTPA - - 560 43973 test.warc.gz
gov,nist)/js/slides/slides.min.jquery.js 20140126192428 http://www.nist.gov/js/slides/slides.min.jquery.js warc/revisit - 763DGAWKGMQVAFFIPU2BDBPBNGXCY474 - - 570 45077 test.warc.gz
gov,nist)/style/web_fonts/functionpro_medium_macroman/functionpro-medium-webfont.woff 20140126192428 http://www.nist.gov/style/web_fonts/functionpro_medium_macroman/FunctionPro-Medium-webfont.woff warc/revisit - LA2T54OTXUBZDA7WMZHH3R46Z3MXL3VB - - 608 46183 test.warc.gz
gov,nist)/images/banner_graphics/curvy_topline.jpg 20140126192428 http://www.nist.gov/images/banner_graphics/curvy_topline.jpg warc/revisit - T6U7764QBDOIEE2SIZC32TQ74WHJNC7O - - 560 47355 test.warc.gz
gov,nist)/images/13pml041_strontium_clock_cropped_cs.jpg 20140126192428 http://www.nist.gov/images/13PML041_strontium_clock_cropped_CS.jpg image/jpeg 200 QQW5JIAJKNA2QNSN5NPUEPVXHDSTICTC - - 85057 48466 test.warc.gz
gov,nist)/images/ui/blue_greybanner.gif 20140126192428 http://www.nist.gov/images/ui/blue_greyBanner.gif warc/revisit - 7D4IHRCXVE4MWGXSF7VPDABJ4JJJ2V2K - - 550 134081 test.warc.gz
com,google-analytics)/ga.js 20140126192428 http://www.google-analytics.com/ga.js warc/revisit - ECJWCGSLO7C3X7JYGORGFIGOWQKCKXPX - - 579 135173 test.warc.gz
gov,nist)/images/ui/separation_dots.gif 20140126192429 http://www.nist.gov/images/ui/separation_dots.gif warc/revisit - CLCSX5BETYEWLSSV7BPJ3WWLOQRNQJVS - - 548 136236 test.warc.gz
gov,nist)/style/images/frontpagesprite.png 20140126192429 http://www.nist.gov/style/images/frontpagesprite.png warc/revisit - XUXHDOJKIYLVUHBKNSCLKOPBP7UYDNVL - - 545 137326 test.warc.gz
gov,nist)/images/14itl001_oneshot_memory_cs.jpg 20140126192429 http://www.nist.gov/images/14ITL001_oneshot_memory_CS.jpg warc/revisit - R5T7WIDVFYLUIA7VIG4MU6547KJAXANS - - 556 138414 test.warc.gz
gov,nist)/images/13pml041_strontium_clock_cropped_cs.jpg?1390764269346 20140126192429 http://www.nist.gov/images/13PML041_strontium_clock_cropped_CS.jpg?1390764269346 image/jpeg 200 QQW5JIAJKNA2QNSN5NPUEPVXHDSTICTC - - 85072 139522 test.warc.gz
gov,nist)/js/slides/img/loading.gif 20140126192429 http://www.nist.gov/js/slides/img/loading.gif warc/revisit - RGFSZQVIWGUZ6YTFK5FJSRNJCTURHK4P - - 550 225163 test.warc.gz
gov,nist)/public_affairs/images/14el001_mwnt_coating_composite_cs.jpg 20140126192429 http://www.nist.gov/public_affairs/images/14EL001_mwnt_coating_composite_CS.jpg warc/revisit - SYXA53HAYYQRM4KO6T545DDYNHMITK4X - - 572 226255 test.warc.gz
gov,nist)/images/14do001_doe_video_screen_cs.jpg 20140126192429 http://www.nist.gov/images/14DO001_doe_video_screen_CS.jpg warc/revisit - TPVX2DT74WBMBPNHCXYMXXED3B73XMAE - - 556 227393 test.warc.gz
com,google-analytics)/__utm.gif?aip=1&utmac=ua-33523145-1&utmcc=__utma=165374137.1242695617.1390763971.1390763971.1390763971.1;+__utmz=165374137.1390763971.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none);&utmcs=utf-8&utmdt=national%20institute%20of%20standards%20and%20technology&utme=8(33!agency*sub-agency*code%20ver)9(33!nist*nist%20-%20wwwb-app5.us.archive.org*v1.7%20130503%20:%20single%20file%20version)&utmfl=11.9%20r900&utmhid=1034657774&utmhn=wwwb-app5.us.archive.org&utmht=1390764270100&utmje=1&utmmt=1&utmn=653677880&utmp=/save/http://www.nist.gov/&utmr=-&utms=5&utmsc=24-bit&utmsr=1366x768&utmu=qrsgaaaamaaaaaaaaaaaaq~&utmul=en-us&utmvp=1351x632&utmwv=5.4.6 20140126192429 http://www.google-analytics.com/__utm.gif?utmwv=5.4.6&utms=5&utmn=653677880&utmhn=wwwb-app5.us.archive.org&utme=8(33!Agency*Sub-Agency*Code%20Ver)9(33!NIST*NIST%20-%20wwwb-app5.us.archive.org*v1.7%20130503%20%3A%20Single%20File%20Version)&utmcs=UTF-8&utmsr=1366x768&utmvp=1351x632&utmsc=24-bit&utmul=en-us&utmje=1&utmfl=11.9%20r900&utmdt=National%20Institute%20of%20Standards%20and%20Technology&utmhid=1034657774&utmr=-&utmp=%2Fsave%2Fhttp%3A%2F%2Fwww.nist.gov%2F&utmht=1390764270100&utmac=UA-33523145-1&utmcc=__utma%3D165374137.1242695617.1390763971.1390763971.1390763971.1%3B%2B__utmz%3D165374137.1390763971.1.1.utmcsr%3D(direct)%7Cutmccn%3D(direct)%7Cutmcmd%3D(none)%3B&aip=1&utmmt=1&utmu=qRSgAAAAMAAAAAAAAAAAAQ~ image/gif 200 B5HJFHOVXMSWJ55LTR3DHDQE4KJKIKWO - - 946 228502 test.warc.gz
com,google-analytics)/__utm.gif?aip=1&utmac=ua-37115410-1&utmcc=__utma=165374137.1242695617.1390763971.1390763971.1390763971.1;+__utmz=165374137.1390763971.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none);&utmcs=utf-8&utmdt=national%20institute%20of%20standards%20and%20technology&utme=8(33!agency*sub-agency*code%20ver)9(33!nist*nist%20-%20wwwb-app5.us.archive.org*v1.7%20130503%20:%20single%20file%20version)&utmfl=11.9%20r900&utmhid=1034657774&utmhn=wwwb-app5.us.archive.org&utmht=1390764270115&utmje=1&utmmt=1&utmn=1702658108&utmp=/save/http://www.nist.gov/&utmr=-&utms=6&utmsc=24-bit&utmsr=1366x768&utmu=qrsgaaaamaaaaaaaaaaaaq~&utmul=en-us&utmvp=1351x632&utmwv=5.4.6 20140126192429 http://www.google-analytics.com/__utm.gif?utmwv=5.4.6&utms=6&utmn=1702658108&utmhn=wwwb-app5.us.archive.org&utme=8(33!Agency*Sub-Agency*Code%20Ver)9(33!NIST*NIST%20-%20wwwb-app5.us.archive.org*v1.7%20130503%20%3A%20Single%20File%20Version)&utmcs=UTF-8&utmsr=1366x768&utmvp=1351x632&utmsc=24-bit&utmul=en-us&utmje=1&utmfl=11.9%20r900&utmdt=National%20Institute%20of%20Standards%20and%20Technology&utmhid=1034657774&utmr=-&utmp=%2Fsave%2Fhttp%3A%2F%2Fwww.nist.gov%2F&utmht=1390764270115&utmac=UA-37115410-1&utmcc=__utma%3D165374137.1242695617.1390763971.1390763971.1390763971.1%3B%2B__utmz%3D165374137.1390763971.1.1.utmcsr%3D(direct)%7Cutmccn%3D(direct)%7Cutmcmd%3D(none)%3B&aip=1&utmmt=1&utmu=qRSgAAAAMAAAAAAAAAAAAQ~ image/gif 200 B5HJFHOVXMSWJ55LTR3DHDQE4KJKIKWO - - 946 230329 test.warc.gz
gov,nist)/images/13pml041_strontium_clock_cropped_cs.jpg?1390764278987 20140126192439 http://www.nist.gov/images/13PML041_strontium_clock_cropped_CS.jpg?1390764278987 image/jpeg 200 QQW5JIAJKNA2QNSN5NPUEPVXHDSTICTC - - 85070 232156 test.warc.gz
org,w3c)/ 20140126192448 http://w3c.org unk 301 3I42H3S6NNFQ2MSVX7XZKYAYSCX5QBYJ - - 342 317796 test.warc.gz
org,w3)/ 20140126192450 http://www.w3.org/ text/html 200 VC4E36NYEBSJUZEKL6C475PF47BF2UPT - - 10023 318615 test.warc.gz
org,w3)/2008/site/css/minimum 20140126192451 http://www.w3.org/2008/site/css/minimum warc/revisit - YDV254TDSTDXNHINXRXKYKWC5S25CD33 - - 644 329119 test.warc.gz
org,w3)/2008/site/images/search-button 20140126192451 http://www.w3.org/2008/site/images/search-button warc/revisit - QOG5YXVGKAUFETSAZ65ZWKQN7O3KAVJA - - 638 330251 test.warc.gz
org,w3)/2008/site/images/logo-shadow 20140126192451 http://www.w3.org/2008/site/images/logo-shadow warc/revisit - JE7KD4BEARSKUOHPQTP4RKMMWUUKFRFY - - 636 331381 test.warc.gz
org,w3)/2008/site/images/logo-w3c-mobile-lg 20140126192451 http://www.w3.org/2008/site/images/logo-w3c-mobile-lg warc/revisit - BMRUVXB5J3JWOLCOOFYEDUK6UILIASBY - - 644 332508 test.warc.gz
org,w3)/2008/site/images/header-link.gif 20140126192451 http://www.w3.org/2008/site/images/header-link.gif warc/revisit - X75XFMDM46YSREHW6VE4QRON7XSYKJVZ - - 595 333649 test.warc.gz
org,w3)/2008/site/css/print 20140126192452 http://www.w3.org/2008/site/css/print warc/revisit - BKUBBT5NEAIJ5CSYQFWH2JCPD3UXMR6B - - 642 334738 test.warc.gz
org,w3)/2008/site/images/icons/rss30 20140126192452 http://www.w3.org/2008/site/images/icons/rss30 warc/revisit - 6OMO6CFICZN5AZAIJ3AV3APIZG77XYD2 - - 638 335864 test.warc.gz
org,w3)/2008/site/css/advanced 20140126192452 http://www.w3.org/2008/site/css/advanced warc/revisit - QDWHZOP247JGRNWHHFXKE5HOJA4EVJUF - - 653 336993 test.warc.gz
org,w3)/2008/site/images/icons/atom30 20140126192453 http://www.w3.org/2008/site/images/icons/atom30 warc/revisit - KRJ3TY6U4CK5TCNZGZY5AQR2Y6S53O4A - - 635 338135 test.warc.gz
org,w3)/2008/site/css/realprint.css 20140126192453 http://www.w3.org/2008/site/css/realprint.css warc/revisit - VZ2UOR2I6WGU4ZMA3C6DAIDRFBIB3CBC - - 594 339262 test.warc.gz
org,w3)/2008/site/images/header-link 20140126192453 http://www.w3.org/2008/site/images/header-link warc/revisit - X75XFMDM46YSREHW6VE4QRON7XSYKJVZ - - 634 340349 test.warc.gz
org,w3,validator-suite)/icons/vs-blue-256.svg 20140126192453 http://validator-suite.w3.org/icons/vs-blue-256.svg warc/revisit - IJIIFBZYTPZR75PPZUSSITV66XGV4SVE - - 477 341475 test.warc.gz
org,w3)/2008/site/images/category-bg-fold.png 20140126192453 http://www.w3.org/2008/site/images/category-bg-fold.png warc/revisit - ZK6MO433VCNDIRQYUGWZ2SDDIQFZSCFP - - 593 342452 test.warc.gz
org,w3)/2008/site/images/page/page_bkg.jpg 20140126192453 http://www.w3.org/2008/site/images/page/page_bkg.jpg warc/revisit - 2JS33DQF2XDILFBB2JE3BDJDOA7QM4FF - - 599 343544 test.warc.gz
org,w3)/2008/site/images/search-bg.png 20140126192453 http://www.w3.org/2008/site/images/search-bg.png warc/revisit - GI5GKXTIPV23XNVBXNSPGGT5J5NBZECB - - 591 344640 test.warc.gz
org,w3)/2008/site/images/logo-w3c-screen-lg 20140126192453 http://www.w3.org/2008/site/images/logo-w3c-screen-lg warc/revisit - PI67JKISUQ5Z4GNQE63TTYDHM3Y6L4UA - - 646 345724 test.warc.gz
org,w3)/2008/site/images/google 20140126192453 http://www.w3.org/2008/site/images/google warc/revisit - J4XLVFATF4IHPSLUMU2LPXXEUDQYR3PY - - 632 346867 test.warc.gz
org,w3)/2008/site/images/skip.png 20140126192454 http://www.w3.org/2008/site/images/skip.png warc/revisit - KYGR5HVCUVP3G2XHITC43CXG4W7IDOW5 - - 585 347986 test.warc.gz
org,w3)/2008/site/images/theme-all.png 20140126192454 http://www.w3.org/2008/site/images/theme-all.png warc/revisit - 7YRO3ZVZ3MO7YVQEDJEZ3RXXSKGLTFFZ - - 593 349060 test.warc.gz
org,w3)/2008/site/images/category-bg.png 20140126192454 http://www.w3.org/2008/site/images/category-bg.png warc/revisit - G6TZMIU3MCYZVEDPMC2DL4M6WLFWHKYA - - 592 350147 test.warc.gz
org,w3)/2008/site/images/talks-bg-left.png 20140126192454 http://www.w3.org/2008/site/images/talks-bg-left.png warc/revisit - YUTG7VQMNMX37DIOBPZ5Y5EK66UED3HI - - 591 351234 test.warc.gz
org,w3)/2008/site/images/talks-bg.png 20140126192454 http://www.w3.org/2008/site/images/talks-bg.png warc/revisit - 3J27MFEO6JE3HTIPYTWIJZBZ5UJUO5EI - - 585 352321 test.warc.gz
org,w3)/2008/site/images/talks-bg-right.png 20140126192454 http://www.w3.org/2008/site/images/talks-bg-right.png warc/revisit - EVI3SG6LZL46O53T6HGNX6FSXUBD77SE - - 595 353399 test.warc.gz
org,w3)/2008/site/js/main 20140126192454 http://www.w3.org/2008/site/js/main warc/revisit - RTZFXO6WDV4LUZVEVYDUVN4MJ4FGA3FJ - - 637 354492 test.warc.gz
org,w3)/2008/site/images/calendar-sprite.png 20140126192454 http://www.w3.org/2008/site/images/calendar-sprite.png warc/revisit - VL2SME5GZFNANSUNZ5VUBHCRAMVLMIJL - - 592 355604 test.warc.gz
org,w3)/2008/site/images/category-bg-right.png 20140126192455 http://www.w3.org/2008/site/images/category-bg-right.png warc/revisit - NW2WTWHNMK6J4CEQTI5H4JCG32XUSL7B - - 591 356691 test.warc.gz
org,w3)/consortium/member/testimonial/logo/775 20140126192455 http://www.w3.org/Consortium/Member/Testimonial/Logo/775 warc/revisit - NSXJLI4UOG666SDK5LNCY6YJ3GLDYNVJ - - 649 357782 test.warc.gz
org,w3,validator-suite)/icons/vs-blue-256.svg 20140126192453 https://validator-suite.w3.org/icons/vs-blue-256.svg warc/revisit - XJMWQPXPUTIP5EKDTGLQW6MUY4B4VW44 - - 716 358932 test.warc.gz
org,w3)/2008/site/images/footer-shadow.png 20140126192456 http://www.w3.org/2008/site/images/footer-shadow.png warc/revisit - RC2EPFVZLPHI33BEKZYNE5XZIP5Q6QXL - - 598 360151 test.warc.gz
org,w3)/2008/site/images/twitter-bird 20140126192456 http://www.w3.org/2008/site/images/twitter-bird warc/revisit - 4NMC2Y4ZJVGNHHSVHK4IU2H4QGMODUUD - - 638 361246 test.warc.gz
org,w3)/2008/site/images/identica-logo 20140126192456 http://www.w3.org/2008/site/images/identica-logo warc/revisit - 6M6LYDKOPIORHLHRWBZAZPBK5ZVGFLOX - - 635 362377 test.warc.gz
org,w3)/2008/site/js/lang/strings.js 20140126192456 http://www.w3.org/2008/site/js/lang/strings.js warc/revisit - OCTSZQXMRHO5XBL5FYCNCALL3JKP45NJ - - 658 363503 test.warc.gz
org,w3)/2008/site/images/ico-minus 20140126192456 http://www.w3.org/2008/site/images/ico-minus warc/revisit - 3W5VMCQOL56ZJ6QP3QL2SMWBETHXCHFN - - 632 364669 test.warc.gz
org,w3)/2008/site/images/ico-plus 20140126192456 http://www.w3.org/2008/site/images/ico-plus warc/revisit - ZBGPPB5UR7BLPFOJGZSDM7PNBJLECURY - - 633 365792 test.warc.gz
org,w3)/2008/site/images/favicon.ico 20140126192457 http://www.w3.org/2008/site/images/favicon.ico warc/revisit - 2SASTUEUQUZKXH5LWWYUFANTHXZGOBVT - - 586 366913 test.warc.gz
org,w3)/standards/webdesign 20140126192532 http://www.w3.org/standards/webdesign/ warc/revisit - WQSP2DY74HMWNERWQSXZLP3N4NFZZXYB - - 586 367976 test.warc.gz
org,w3)/2008/site/css/minimum 20140126192533 http://www.w3.org/2008/site/css/minimum warc/revisit - YDV254TDSTDXNHINXRXKYKWC5S25CD33 - - 643 369061 test.warc.gz
org,w3)/2008/site/images/logo-shadow 20140126192533 http://www.w3.org/2008/site/images/logo-shadow warc/revisit - JE7KD4BEARSKUOHPQTP4RKMMWUUKFRFY - - 636 370205 test.warc.gz
org,w3)/2008/site/images/search-button 20140126192533 http://www.w3.org/2008/site/images/search-button warc/revisit - QOG5YXVGKAUFETSAZ65ZWKQN7O3KAVJA - - 636 371345 test.warc.gz
org,w3)/2008/site/images/logo-w3c-mobile-lg 20140126192533 http://www.w3.org/2008/site/images/logo-w3c-mobile-lg warc/revisit - BMRUVXB5J3JWOLCOOFYEDUK6UILIASBY - - 644 372487 test.warc.gz
org,w3)/2008/site/css/advanced 20140126192533 http://www.w3.org/2008/site/css/advanced warc/revisit - QDWHZOP247JGRNWHHFXKE5HOJA4EVJUF - - 652 373641 test.warc.gz
org,w3)/2008/site/images/header-link 20140126192533 http://www.w3.org/2008/site/images/header-link warc/revisit - X75XFMDM46YSREHW6VE4QRON7XSYKJVZ - - 635 374794 test.warc.gz
org,w3)/2008/site/images/theme-web-design 20140126192533 http://www.w3.org/2008/site/images/theme-web-design warc/revisit - OCOJ2SSUXIR2V63AGVZCMSPSVZH6B3EI - - 640 375933 test.warc.gz
org,w3)/2008/site/css/print 20140126192533 http://www.w3.org/2008/site/css/print warc/revisit - BKUBBT5NEAIJ5CSYQFWH2JCPD3UXMR6B - - 642 377080 test.warc.gz
org,w3)/2008/site/images/category-bg-fold.png 20140126192534 http://www.w3.org/2008/site/images/category-bg-fold.png warc/revisit - ZK6MO433VCNDIRQYUGWZ2SDDIQFZSCFP - - 594 378222 test.warc.gz
org,w3)/2008/site/images/page/page_bkg.jpg 20140126192534 http://www.w3.org/2008/site/images/page/page_bkg.jpg warc/revisit - 2JS33DQF2XDILFBB2JE3BDJDOA7QM4FF - - 598 379328 test.warc.gz
org,w3)/2008/site/images/google 20140126192534 http://www.w3.org/2008/site/images/google warc/revisit - J4XLVFATF4IHPSLUMU2LPXXEUDQYR3PY - - 633 380435 test.warc.gz
org,w3)/2008/site/images/search-bg.png 20140126192534 http://www.w3.org/2008/site/images/search-bg.png warc/revisit - GI5GKXTIPV23XNVBXNSPGGT5J5NBZECB - - 591 381567 test.warc.gz
org,w3)/2008/site/images/logo-w3c-screen-lg 20140126192534 http://www.w3.org/2008/site/images/logo-w3c-screen-lg warc/revisit - PI67JKISUQ5Z4GNQE63TTYDHM3Y6L4UA - - 647 382664 test.warc.gz
org,w3)/2008/site/js/main 20140126192534 http://www.w3.org/2008/site/js/main warc/revisit - RTZFXO6WDV4LUZVEVYDUVN4MJ4FGA3FJ - - 637 383820 test.warc.gz
org,w3)/2008/site/images/skip.png 20140126192534 http://www.w3.org/2008/site/images/skip.png warc/revisit - KYGR5HVCUVP3G2XHITC43CXG4W7IDOW5 - - 586 384947 test.warc.gz
org,w3)/2008/site/images/bct.png 20140126192534 http://www.w3.org/2008/site/images/bct.png warc/revisit - WOQ2FH33THZ2FNKFVPMAOKYJOZW7RXUD - - 583 386035 test.warc.gz
org,w3)/2008/site/images/category-bg.png 20140126192534 http://www.w3.org/2008/site/images/category-bg.png warc/revisit - G6TZMIU3MCYZVEDPMC2DL4M6WLFWHKYA - - 593 387118 test.warc.gz
org,w3)/2008/site/css/realprint.css 20140126192534 http://www.w3.org/2008/site/css/realprint.css warc/revisit - VZ2UOR2I6WGU4ZMA3C6DAIDRFBIB3CBC - - 596 388218 test.warc.gz
org,w3)/2008/site/images/icons/atom30 20140126192534 http://www.w3.org/2008/site/images/icons/atom30 warc/revisit - KRJ3TY6U4CK5TCNZGZY5AQR2Y6S53O4A - - 638 389319 test.warc.gz
com,wp,s0)/wp-includes/images/smilies/icon_smile.gif 20140126192535 http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif image/gif 200 JXHAUHA5WC7VGIPFWMTQX66BWBM243XS - - 698 390462 test.warc.gz
com,wordpress,stats)/b.gif?blog=557157&feed=1&host=ivan-herman.name&post=1033&ref=&subd=ivanherman 20140126192535 http://stats.wordpress.com/b.gif?host=ivan-herman.name&blog=557157&post=1033&subd=ivanherman&ref=&feed=1 warc/revisit - XAFRCIB5S77ADRKZPSR344CAN2SI6VYJ - - 561 391678 test.warc.gz
com,flickr,static,farm6)/5482/10919013103_749a746640_m.jpg 20140126192535 http://farm6.static.flickr.com/5482/10919013103_749a746640_m.jpg warc/revisit - AZ7G626S3E6FIDTLEJTRE4HBIMWKQECV - - 798 392793 test.warc.gz
com,zemanta,img)/pixy.gif?x-id=87dd6914-e96a-4ef9-a83c-e1656d939cc8 20140126192535 http://img.zemanta.com/pixy.gif?x-id=87dd6914-e96a-4ef9-a83c-e1656d939cc8 image/gif 200 JYE7EYE2BD2K3F7JLSYAWWX3B3SRWQXU - - 1488 394118 test.warc.gz
com,zemanta,img)/pixy.gif?x-id=f92d4f05-2761-4b1f-bee8-64650d069005 20140126192535 http://img.zemanta.com/pixy.gif?x-id=f92d4f05-2761-4b1f-bee8-64650d069005 image/gif 200 JYE7EYE2BD2K3F7JLSYAWWX3B3SRWQXU - - 1489 396138 test.warc.gz
com,wordpress,feeds)/1.0/comments/ivanherman.wordpress.com/1033 20140126192535 http://feeds.wordpress.com/1.0/comments/ivanherman.wordpress.com/1033/ warc/revisit - 2ZMTV5SK7PRKIWVT3A2XCTCIDA23GTZQ - - 617 398162 test.warc.gz
com,wordpress,feeds)/1.0/comments/ivanherman.wordpress.com/1021 20140126192535 http://feeds.wordpress.com/1.0/comments/ivanherman.wordpress.com/1021/ warc/revisit - E35VUVLCAHOQ4FL2GXA6IBWJV5NDSCUL - - 618 399300 test.warc.gz
com,wordpress,stats)/b.gif?blog=557157&feed=1&host=ivan-herman.name&post=1021&ref=&subd=ivanherman 20140126192535 http://stats.wordpress.com/b.gif?host=ivan-herman.name&blog=557157&post=1021&subd=ivanherman&ref=&feed=1 warc/revisit - XAFRCIB5S77ADRKZPSR344CAN2SI6VYJ - - 561 400438 test.warc.gz
com,wordpress,files,ivanherman)/2013/08/a_dsc00143.jpg?h=219&w=390 20140126192535 http://ivanherman.files.wordpress.com/2013/08/a_dsc00143.jpg?w=390&h=219 warc/revisit - 3XSGBXR3CMIVRWB7C5WXQF5NY2WJR76X - - 577 401551 test.warc.gz
com,wordpress,stats)/b.gif?blog=557157&feed=1&host=ivan-herman.name&post=986&ref=&subd=ivanherman 20140126192535 http://stats.wordpress.com/b.gif?host=ivan-herman.name&blog=557157&post=986&subd=ivanherman&ref=&feed=1 warc/revisit - XAFRCIB5S77ADRKZPSR344CAN2SI6VYJ - - 562 402662 test.warc.gz
com,wordpress,feeds)/1.0/comments/ivanherman.wordpress.com/986 20140126192535 http://feeds.wordpress.com/1.0/comments/ivanherman.wordpress.com/986/ warc/revisit - JAC2MT7F45L6XV7GR33YJRKEDC5E33SW - - 620 403779 test.warc.gz
org,w3)/2008/site/images/twitter-bird 20140126192535 http://www.w3.org/2008/site/images/twitter-bird warc/revisit - 4NMC2Y4ZJVGNHHSVHK4IU2H4QGMODUUD - - 636 404918 test.warc.gz
org,w3)/2008/site/images/footer-shadow.png 20140126192536 http://www.w3.org/2008/site/images/footer-shadow.png warc/revisit - RC2EPFVZLPHI33BEKZYNE5XZIP5Q6QXL - - 598 406059 test.warc.gz
org,w3)/2008/site/images/talks-bg.png 20140126192536 http://www.w3.org/2008/site/images/talks-bg.png warc/revisit - 3J27MFEO6JE3HTIPYTWIJZBZ5UJUO5EI - - 585 407165 test.warc.gz
org,w3)/2008/site/images/talks-bg-left.png 20140126192536 http://www.w3.org/2008/site/images/talks-bg-left.png warc/revisit - YUTG7VQMNMX37DIOBPZ5Y5EK66UED3HI - - 593 408256 test.warc.gz
org,w3)/2008/site/images/talks-bg-right.png 20140126192536 http://www.w3.org/2008/site/images/talks-bg-right.png warc/revisit - EVI3SG6LZL46O53T6HGNX6FSXUBD77SE - - 594 409355 test.warc.gz
org,w3)/2008/site/images/calendar-sprite.png 20140126192536 http://www.w3.org/2008/site/images/calendar-sprite.png warc/revisit - VL2SME5GZFNANSUNZ5VUBHCRAMVLMIJL - - 593 410460 test.warc.gz
org,w3)/2008/site/images/ico-minus 20140126192536 http://www.w3.org/2008/site/images/ico-minus warc/revisit - 3W5VMCQOL56ZJ6QP3QL2SMWBETHXCHFN - - 634 411562 test.warc.gz
org,w3)/2008/site/images/ico-plus 20140126192537 http://www.w3.org/2008/site/images/ico-plus warc/revisit - ZBGPPB5UR7BLPFOJGZSDM7PNBJLECURY - - 631 412699 test.warc.gz
org,w3)/standards/webarch 20140126192556 http://www.w3.org/standards/webarch/ warc/revisit - 6DGR7P5H736TT7TCAG6WP6P3EGLJPRI4 - - 578 413832 test.warc.gz
org,w3)/2008/site/images/search-button 20140126192557 http://www.w3.org/2008/site/images/search-button warc/revisit - QOG5YXVGKAUFETSAZ65ZWKQN7O3KAVJA - - 637 414906 test.warc.gz
org,w3)/2008/site/css/print 20140126192557 http://www.w3.org/2008/site/css/print warc/revisit - BKUBBT5NEAIJ5CSYQFWH2JCPD3UXMR6B - - 641 416047 test.warc.gz
org,w3)/2008/site/images/logo-w3c-mobile-lg 20140126192557 http://www.w3.org/2008/site/images/logo-w3c-mobile-lg warc/revisit - BMRUVXB5J3JWOLCOOFYEDUK6UILIASBY - - 643 417187 test.warc.gz
org,w3)/2008/site/css/minimum 20140126192557 http://www.w3.org/2008/site/css/minimum warc/revisit - YDV254TDSTDXNHINXRXKYKWC5S25CD33 - - 643 418340 test.warc.gz
org,w3)/2008/site/css/advanced 20140126192557 http://www.w3.org/2008/site/css/advanced warc/revisit - QDWHZOP247JGRNWHHFXKE5HOJA4EVJUF - - 653 419483 test.warc.gz
org,w3)/2008/site/images/logo-shadow 20140126192557 http://www.w3.org/2008/site/images/logo-shadow warc/revisit - JE7KD4BEARSKUOHPQTP4RKMMWUUKFRFY - - 637 420636 test.warc.gz
org,w3)/2008/site/images/header-link 20140126192557 http://www.w3.org/2008/site/images/header-link warc/revisit - X75XFMDM46YSREHW6VE4QRON7XSYKJVZ - - 635 421778 test.warc.gz
org,w3)/2008/site/images/theme-web-arch 20140126192557 http://www.w3.org/2008/site/images/theme-web-arch warc/revisit - ZOOARJHNWK2OI7IM23LE6BHUBKOGCZVD - - 639 422915 test.warc.gz
org,w3)/2008/site/images/icons/atom30 20140126192558 http://www.w3.org/2008/site/images/icons/atom30 warc/revisit - KRJ3TY6U4CK5TCNZGZY5AQR2Y6S53O4A - - 634 424056 test.warc.gz
org,w3)/2008/site/js/main 20140126192557 http://www.w3.org/2008/site/js/main warc/revisit - RTZFXO6WDV4LUZVEVYDUVN4MJ4FGA3FJ - - 639 425193 test.warc.gz
org,w3)/2008/site/css/realprint.css 20140126192558 http://www.w3.org/2008/site/css/realprint.css warc/revisit - VZ2UOR2I6WGU4ZMA3C6DAIDRFBIB3CBC - - 594 426321 test.warc.gz
org,w3)/international/multilingualweb/images/mlw-logo.png 20140126192558 http://www.w3.org/International/multilingualweb/images/mlw-logo.png warc/revisit - R6SIVM5KSXTASGYMUXB36JXPBHDSUGFC - - 610 427418 test.warc.gz
org,w3)/2008/site/images/page/page_bkg.jpg 20140126192558 http://www.w3.org/2008/site/images/page/page_bkg.jpg warc/revisit - 2JS33DQF2XDILFBB2JE3BDJDOA7QM4FF - - 597 428546 test.warc.gz
org,w3)/2008/site/images/search-bg.png 20140126192558 http://www.w3.org/2008/site/images/search-bg.png warc/revisit - GI5GKXTIPV23XNVBXNSPGGT5J5NBZECB - - 590 429651 test.warc.gz
org,w3)/2008/site/images/logo-w3c-screen-lg 20140126192558 http://www.w3.org/2008/site/images/logo-w3c-screen-lg warc/revisit - PI67JKISUQ5Z4GNQE63TTYDHM3Y6L4UA - - 646 430746 test.warc.gz
org,w3)/2008/site/images/google 20140126192559 http://www.w3.org/2008/site/images/google warc/revisit - J4XLVFATF4IHPSLUMU2LPXXEUDQYR3PY - - 632 431901 test.warc.gz
org,w3)/2008/site/images/category-bg-fold.png 20140126192600 http://www.w3.org/2008/site/images/category-bg-fold.png warc/revisit - ZK6MO433VCNDIRQYUGWZ2SDDIQFZSCFP - - 593 433032 test.warc.gz
org,w3)/2008/site/images/category-bg.png 20140126192601 http://www.w3.org/2008/site/images/category-bg.png warc/revisit - G6TZMIU3MCYZVEDPMC2DL4M6WLFWHKYA - - 591 434136 test.warc.gz
org,w3)/2008/site/images/skip.png 20140126192601 http://www.w3.org/2008/site/images/skip.png warc/revisit - KYGR5HVCUVP3G2XHITC43CXG4W7IDOW5 - - 583 435233 test.warc.gz
org,w3)/2008/site/images/bct.png 20140126192601 http://www.w3.org/2008/site/images/bct.png warc/revisit - WOQ2FH33THZ2FNKFVPMAOKYJOZW7RXUD - - 582 436319 test.warc.gz
org,w3)/2008/site/images/talks-bg-left.png 20140126192601 http://www.w3.org/2008/site/images/talks-bg-left.png warc/revisit - YUTG7VQMNMX37DIOBPZ5Y5EK66UED3HI - - 594 437401 test.warc.gz
org,w3)/2008/site/images/talks-bg-right.png 20140126192601 http://www.w3.org/2008/site/images/talks-bg-right.png warc/revisit - EVI3SG6LZL46O53T6HGNX6FSXUBD77SE - - 594 438503 test.warc.gz
org,w3)/2008/site/images/talks-bg.png 20140126192601 http://www.w3.org/2008/site/images/talks-bg.png warc/revisit - 3J27MFEO6JE3HTIPYTWIJZBZ5UJUO5EI - - 586 439607 test.warc.gz
org,w3)/2008/site/images/footer-shadow.png 20140126192602 http://www.w3.org/2008/site/images/footer-shadow.png warc/revisit - RC2EPFVZLPHI33BEKZYNE5XZIP5Q6QXL - - 598 440697 test.warc.gz
org,w3)/2008/site/images/ico-minus 20140126192602 http://www.w3.org/2008/site/images/ico-minus warc/revisit - 3W5VMCQOL56ZJ6QP3QL2SMWBETHXCHFN - - 634 441803 test.warc.gz
org,w3)/2008/site/images/twitter-bird 20140126192602 http://www.w3.org/2008/site/images/twitter-bird warc/revisit - 4NMC2Y4ZJVGNHHSVHK4IU2H4QGMODUUD - - 637 442938 test.warc.gz
org,w3)/international/multilingualweb/logo/mlw-logo-lt-124.png 20140126192602 http://www.w3.org/International/multilingualweb/logo/mlw-logo-lt-124.png warc/revisit - ND4CONRUJWIUNYY3PLJVZKYHNKXW3EGZ - - 615 444079 test.warc.gz
org,w3)/2008/site/images/ico-plus 20140126192602 http://www.w3.org/2008/site/images/ico-plus warc/revisit - ZBGPPB5UR7BLPFOJGZSDM7PNBJLECURY - - 632 445215 test.warc.gz
org,iana)/ 20140126192643 http://iana.org unk 302 3I42H3S6NNFQ2MSVX7XZKYAYSCX5QBYJ - - 340 446349 test.warc.gz
org,iana)/ 20140126192644 http://www.iana.org/ warc/revisit - OSSAPWJ23L56IYVRW3GFEAR4MCJMGPTB - - 535 447165 test.warc.gz
org,iana)/_js/2013.1/iana.js 20140126192645 http://www.iana.org/_js/2013.1/iana.js application/x-javascript 200 3I42H3S6NNFQ2MSVX7XZKYAYSCX5QBYJ - - 458 448183 test.warc.gz
org,iana)/_css/2013.1/print.css 20140126192645 http://www.iana.org/_css/2013.1/print.css warc/revisit - VNBXHMUNWJQC5OWWGZ3X7GM5C7X6ZAB4 - - 543 449119 test.warc.gz
org,iana)/_css/2013.1/screen.css 20140126192645 http://www.iana.org/_css/2013.1/screen.css warc/revisit - BUAEPXZNN44AIX3NLXON4QDV6OY2H5QD - - 544 450150 test.warc.gz
org,iana)/_js/2013.1/jquery.js 20140126192645 http://www.iana.org/_js/2013.1/jquery.js warc/revisit - AAW2RS7JB7HTF666XNZDQYJFA6PDQBPO - - 551 451182 test.warc.gz
org,iana)/_img/2013.1/icann-logo.svg 20140126192645 http://www.iana.org/_img/2013.1/icann-logo.svg warc/revisit - HGRZHOH73EFQQWBYWBSOIV2UU5JDTSGJ - - 553 452214 test.warc.gz
org,iana)/_img/2013.1/iana-logo-homepage.png 20140126192645 http://www.iana.org/_img/2013.1/iana-logo-homepage.png warc/revisit - GCW2GM3SIMHEIQYZX25MLSRYVWUCZ7OK - - 552 453259 test.warc.gz
org,iana)/_css/2013.1/fonts/opensans-bold.ttf 20140126192646 http://www.iana.org/_css/2013.1/fonts/OpenSans-Bold.ttf warc/revisit - YFUR5ALIWJMWV6FAAFRLVRQNXZQF5HRW - - 559 454309 test.warc.gz
org,iana)/_css/2013.1/fonts/opensans-regular.ttf 20140126192646 http://www.iana.org/_css/2013.1/fonts/OpenSans-Regular.ttf warc/revisit - GVSO2C2TMPPVZ4TXYFXAY27NYWTIEIL7 - - 543 455360 test.warc.gz
org,iana)/_img/bookmark_icon.ico 20140126192647 http://www.iana.org/_img/bookmark_icon.ico warc/revisit - PG3PAWWE72JQ37CXJSPCJNNF7QI3SNX7 - - 547 456397 test.warc.gz
org,iana)/about 20140126192706 http://iana.org/about/ unk 302 3I42H3S6NNFQ2MSVX7XZKYAYSCX5QBYJ - - 346 457418 test.warc.gz
org,iana)/about 20140126192706 http://www.iana.org/about/ text/html 302 3I42H3S6NNFQ2MSVX7XZKYAYSCX5QBYJ - - 434 458249 test.warc.gz
org,iana)/about 20140126192708 http://www.iana.org/about warc/revisit - 6G77LZKFAVKH4PCWWKMW6TRJPSHWUBI3 - - 535 459172 test.warc.gz
org,iana)/_js/2013.1/iana.js 20140126192708 http://www.iana.org/_js/2013.1/iana.js application/x-javascript 200 3I42H3S6NNFQ2MSVX7XZKYAYSCX5QBYJ - - 458 460194 test.warc.gz
org,iana)/_css/2013.1/screen.css 20140126192708 http://www.iana.org/_css/2013.1/screen.css warc/revisit - BUAEPXZNN44AIX3NLXON4QDV6OY2H5QD - - 545 461132 test.warc.gz
org,iana)/_css/2013.1/print.css 20140126192708 http://www.iana.org/_css/2013.1/print.css warc/revisit - VNBXHMUNWJQC5OWWGZ3X7GM5C7X6ZAB4 - - 540 462171 test.warc.gz
org,iana)/_js/2013.1/jquery.js 20140126192708 http://www.iana.org/_js/2013.1/jquery.js warc/revisit - AAW2RS7JB7HTF666XNZDQYJFA6PDQBPO - - 550 463204 test.warc.gz
org,iana)/_img/2013.1/iana-logo-header.svg 20140126192709 http://www.iana.org/_img/2013.1/iana-logo-header.svg warc/revisit - N6T6ZRHLEHKP2675D7JVKDYKVKYKWQ6X - - 537 464239 test.warc.gz
org,iana)/_css/2013.1/fonts/opensans-semibold.ttf 20140126192709 http://www.iana.org/_css/2013.1/fonts/OpenSans-Semibold.ttf warc/revisit - 6HXHVHDNCPXC2ZBKQBWATZZXE5PGCN4S - - 560 465277 test.warc.gz
org,iana)/_css/2013.1/fonts/opensans-regular.ttf 20140126192709 http://www.iana.org/_css/2013.1/fonts/OpenSans-Regular.ttf warc/revisit - GVSO2C2TMPPVZ4TXYFXAY27NYWTIEIL7 - - 545 466333 test.warc.gz
org,iana)/_css/2013.1/fonts/opensans-bold.ttf 20140126192709 http://www.iana.org/_css/2013.1/fonts/OpenSans-Bold.ttf warc/revisit - YFUR5ALIWJMWV6FAAFRLVRQNXZQF5HRW - - 557 467375 test.warc.gz
org,iana)/_img/2013.1/icann-logo.svg 20140126192709 http://www.iana.org/_img/2013.1/icann-logo.svg warc/revisit - HGRZHOH73EFQQWBYWBSOIV2UU5JDTSGJ - - 553 468426 test.warc.gz
org,iana)/numbers 20140126192742 http://www.iana.org/numbers warc/revisit - HWT5UZKURYLW5QNWVZCWFCANGEMU7XWK - - 541 469477 test.warc.gz
org,iana)/_js/2013.1/iana.js 20140126192743 http://www.iana.org/_js/2013.1/iana.js application/x-javascript 200 3I42H3S6NNFQ2MSVX7XZKYAYSCX5QBYJ - - 453 470505 test.warc.gz
org,iana)/_css/2013.1/print.css 20140126192743 http://www.iana.org/_css/2013.1/print.css warc/revisit - VNBXHMUNWJQC5OWWGZ3X7GM5C7X6ZAB4 - - 540 471438 test.warc.gz
org,iana)/_css/2013.1/screen.css 20140126192743 http://www.iana.org/_css/2013.1/screen.css warc/revisit - BUAEPXZNN44AIX3NLXON4QDV6OY2H5QD - - 539 472472 test.warc.gz
org,iana)/_js/2013.1/jquery.js 20140126192743 http://www.iana.org/_js/2013.1/jquery.js warc/revisit - AAW2RS7JB7HTF666XNZDQYJFA6PDQBPO - - 547 473507 test.warc.gz
org,iana)/_img/2013.1/iana-logo-header.svg 20140126192743 http://www.iana.org/_img/2013.1/iana-logo-header.svg warc/revisit - N6T6ZRHLEHKP2675D7JVKDYKVKYKWQ6X - - 550 474538 test.warc.gz
org,iana)/_img/2013.1/rir-map.svg 20140126192743 http://www.iana.org/_img/2013.1/rir-map.svg warc/revisit - C4LTM7ATRZYZL3W2UCEEX6A26L6PIT4K - - 544 475590 test.warc.gz
org,iana)/_img/2013.1/icann-logo.svg 20140126192743 http://www.iana.org/_img/2013.1/icann-logo.svg warc/revisit - HGRZHOH73EFQQWBYWBSOIV2UU5JDTSGJ - - 551 476627 test.warc.gz
org,iana)/_css/2013.1/fonts/opensans-regular.ttf 20140126192743 http://www.iana.org/_css/2013.1/fonts/OpenSans-Regular.ttf warc/revisit - GVSO2C2TMPPVZ4TXYFXAY27NYWTIEIL7 - - 556 477677 test.warc.gz
org,iana)/_css/2013.1/fonts/opensans-semibold.ttf 20140126192743 http://www.iana.org/_css/2013.1/fonts/OpenSans-Semibold.ttf warc/revisit - 6HXHVHDNCPXC2ZBKQBWATZZXE5PGCN4S - - 561 478732 test.warc.gz
org,iana)/_css/2013.1/fonts/opensans-bold.ttf 20140126192743 http://www.iana.org/_css/2013.1/fonts/OpenSans-Bold.ttf warc/revisit - YFUR5ALIWJMWV6FAAFRLVRQNXZQF5HRW - - 557 479793 test.warc.gz
org,iana)/protocols 20140126192809 http://iana.org/protocols unk 302 3I42H3S6NNFQ2MSVX7XZKYAYSCX5QBYJ - - 348 480847 test.warc.gz
org,iana)/protocols 20140126192809 http://www.iana.org/protocols text/html 200 IRUJZEUAXOUUG224ZMI4VWTUPJX6XJTT - - 63662 481683 test.warc.gz
org,iana)/_js/2013.1/iana.js 20140126192814 http://www.iana.org/_js/2013.1/iana.js application/x-javascript 200 3I42H3S6NNFQ2MSVX7XZKYAYSCX5QBYJ - - 457 545836 test.warc.gz
org,iana)/_css/2013.1/print.css 20140126192814 http://www.iana.org/_css/2013.1/print.css warc/revisit - VNBXHMUNWJQC5OWWGZ3X7GM5C7X6ZAB4 - - 541 546776 test.warc.gz
org,iana)/_css/2013.1/screen.css 20140126192814 http://www.iana.org/_css/2013.1/screen.css warc/revisit - BUAEPXZNN44AIX3NLXON4QDV6OY2H5QD - - 539 547812 test.warc.gz
org,iana)/_js/2013.1/jquery.js 20140126192814 http://www.iana.org/_js/2013.1/jquery.js warc/revisit - AAW2RS7JB7HTF666XNZDQYJFA6PDQBPO - - 547 548847 test.warc.gz
org,iana)/_img/2013.1/iana-logo-header.svg 20140126192814 http://www.iana.org/_img/2013.1/iana-logo-header.svg warc/revisit - N6T6ZRHLEHKP2675D7JVKDYKVKYKWQ6X - - 549 549881 test.warc.gz
org,iana)/_css/2013.1/fonts/opensans-semibold.ttf 20140126192815 http://www.iana.org/_css/2013.1/fonts/OpenSans-Semibold.ttf warc/revisit - 6HXHVHDNCPXC2ZBKQBWATZZXE5PGCN4S - - 562 550934 test.warc.gz
org,iana)/_css/2013.1/fonts/opensans-regular.ttf 20140126192815 http://www.iana.org/_css/2013.1/fonts/OpenSans-Regular.ttf warc/revisit - GVSO2C2TMPPVZ4TXYFXAY27NYWTIEIL7 - - 543 551997 test.warc.gz
org,iana)/_css/2013.1/fonts/opensans-bold.ttf 20140126192815 http://www.iana.org/_css/2013.1/fonts/OpenSans-Bold.ttf warc/revisit - YFUR5ALIWJMWV6FAAFRLVRQNXZQF5HRW - - 541 553038 test.warc.gz
org,iana)/_img/2013.1/icann-logo.svg 20140126192817 http://www.iana.org/_img/2013.1/icann-logo.svg warc/revisit - HGRZHOH73EFQQWBYWBSOIV2UU5JDTSGJ - - 551 554077 test.warc.gz
org,iana)/domains 20140126192835 http://www.iana.org/domains warc/revisit - 7UPSCLNWNZP33LGW6OJGSF2Y4CDG4ES7 - - 539 555128 test.warc.gz
org,iana)/_js/2013.1/iana.js 20140126192835 http://www.iana.org/_js/2013.1/iana.js application/x-javascript 200 3I42H3S6NNFQ2MSVX7XZKYAYSCX5QBYJ - - 458 556157 test.warc.gz
org,iana)/_css/2013.1/screen.css 20140126192835 http://www.iana.org/_css/2013.1/screen.css warc/revisit - BUAEPXZNN44AIX3NLXON4QDV6OY2H5QD - - 543 557098 test.warc.gz
org,iana)/_css/2013.1/print.css 20140126192835 http://www.iana.org/_css/2013.1/print.css warc/revisit - VNBXHMUNWJQC5OWWGZ3X7GM5C7X6ZAB4 - - 540 558135 test.warc.gz
org,iana)/_js/2013.1/jquery.js 20140126192835 http://www.iana.org/_js/2013.1/jquery.js warc/revisit - AAW2RS7JB7HTF666XNZDQYJFA6PDQBPO - - 551 559167 test.warc.gz
org,iana)/_img/2013.1/iana-logo-header.svg 20140126192835 http://www.iana.org/_img/2013.1/iana-logo-header.svg warc/revisit - N6T6ZRHLEHKP2675D7JVKDYKVKYKWQ6X - - 551 560203 test.warc.gz
org,iana)/_img/2013.1/icann-logo.svg 20140126192836 http://www.iana.org/_img/2013.1/icann-logo.svg warc/revisit - HGRZHOH73EFQQWBYWBSOIV2UU5JDTSGJ - - 551 561255 test.warc.gz
org,iana)/_css/2013.1/fonts/inconsolata.otf 20140126192836 http://www.iana.org/_css/2013.1/fonts/Inconsolata.otf warc/revisit - LNMEDYOENSOEI5VPADCKL3CB6N3GWXPR - - 555 562305 test.warc.gz
org,iana)/_css/2013.1/fonts/opensans-regular.ttf 20140126192836 http://www.iana.org/_css/2013.1/fonts/OpenSans-Regular.ttf warc/revisit - GVSO2C2TMPPVZ4TXYFXAY27NYWTIEIL7 - - 557 563349 test.warc.gz
org,iana)/_css/2013.1/fonts/opensans-semibold.ttf 20140126192836 http://www.iana.org/_css/2013.1/fonts/OpenSans-Semibold.ttf warc/revisit - 6HXHVHDNCPXC2ZBKQBWATZZXE5PGCN4S - - 561 564402 test.warc.gz
org,iana)/_css/2013.1/fonts/opensans-bold.ttf 20140126192836 http://www.iana.org/_css/2013.1/fonts/OpenSans-Bold.ttf warc/revisit - YFUR5ALIWJMWV6FAAFRLVRQNXZQF5HRW - - 552 565464 test.warc.gz

Binary file not shown.