code: def resolve_remote(self, uri):
          
  
          scheme = urlsplit(uri).scheme
  
          if scheme in self.handlers:
              result = self.handlers[scheme](uri)
          elif (
              scheme in [u"http", u"https"] and
              requests and
              getattr(requests.Response, "json", None) is not None
          ):
              # Requests has support for detecting the correct encoding of
              # json over http
              if callable(requests.Response.json):
                  result = requests.get(uri).json()
              else:
                  result = requests.get(uri).json
          else:
              # Otherwise, pass off to urllib and assume utf-8
              result = json.loads(urlopen(uri).read().decode("utf-8"))
  
          if self.cache_remote:
              self.store[uri] = result
          return result
docs: Resolve a remote ``uri``.
  
          Does not check the store first, but stores the retrieved document in
          the store if :attr:`RefResolver.cache_remote` is True.
  
          .. note::
  
              If the requests_ library is present, ``jsonschema`` will use it to
              request the remote ``uri``, so that the correct encoding is
              detected and used.
  
              If it isn't, or if the scheme of the ``uri`` is not ``http`` or
              ``https``, UTF-8 is assumed.
  
          :argument str uri: the URI to resolve
          :returns: the retrieved document
  
          .. _requests: http://pypi.python.org/pypi/requests/