code: def resolve_remote(self, uri):
          
          try:
              import requests
          except ImportError:
              requests = None
  
          scheme = urlsplit(uri).scheme
  
          if scheme in self.handlers:
              result = self.handlers[scheme](uri)
          elif scheme in [u"http", u"https"] and requests:
              # Requests has support for detecting the correct encoding of
              # json over http
              result = requests.get(uri).json()
          else:
              # Otherwise, pass off to urllib and assume utf-8
              with urlopen(uri) as url:
                  result = json.loads(url.read().decode("utf-8"))
  
          if self.cache_remote:
              self.store[uri] = result
          return result
docs: Resolve a remote ``uri``.
  
          If called directly, does not check the store first, but after
          retrieving the document at the specified URI it will be saved in
          the store if :attr:`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.
  
          Arguments:
  
              uri (str):
  
                  The URI to resolve
  
          Returns:
  
              The retrieved document
  
          .. _requests: https://pypi.org/project/requests/