code: def parse_URL(cls, url, timeout=None, resolve=True, required=False, unresolved_value=DEFAULT_SUBSTITUTION):
          
          socket_timeout = socket._GLOBAL_DEFAULT_TIMEOUT if timeout is None else timeout
  
          try:
              with contextlib.closing(urlopen(url, timeout=socket_timeout)) as fd:
                  content = fd.read() if use_urllib2 else fd.read().decode('utf-8')
                  return cls.parse_string(content, os.path.dirname(url), resolve, unresolved_value)
          except (HTTPError, URLError) as e:
              logger.warn('Cannot include url %s. Resource is inaccessible.', url)
              if required:
                  raise e
              else:
                  return []
docs: Parse URL
  
          :param url: url to parse
          :type url: basestring
          :param resolve: if true, resolve substitutions
          :type resolve: boolean
          :param unresolved_value: assigned value value to unresolved substitution.
          If overriden with a default value, it will replace all unresolved value to the default value.
          If it is set to to pyhocon.STR_SUBSTITUTION then it will replace the value by its substitution expression (e.g., ${x})
          :type unresolved_value: boolean
          :return: Config object or []
          :type return: Config or list