class CachedRequest(object):

    def __init__(self, url):
        self._request = urllib.request.urlopen(url)
self._content = None

def __getattr__(self, attr):
    return getattr(self._request, attr)

def read(self):
    if self._content is None:
        content = self._request.read()
self._content = StringIO()
self._content.write(content)
self._content.seek(0)
urllib.request: есть ли способ прочитать его без изменения объекта запроса?