code: def _check_scihub_response(response, test_json=True):
      
      # Prevent requests from needing to guess the encoding
      # SciHub appears to be using UTF-8 in all of their responses
      response.encoding = 'utf-8'
      try:
          response.raise_for_status()
          if test_json:
              response.json()
      except (requests.HTTPError, ValueError):
          msg = "Invalid API response."
          try:
              msg = response.headers['cause-message']
          except:
              try:
                  msg = response.json()['error']['message']['value']
              except:
                  if not response.text.strip().startswith('{'):
                      try:
                          h = html2text.HTML2Text()
                          h.ignore_images = True
                          h.ignore_anchors = True
                          msg = h.handle(response.text).strip()
                      except:
                          pass
          api_error = SentinelAPIError(msg, response)
          # Suppress "During handling of the above exception..." message
          # See PEP 409
          api_error.__cause__ = None
          raise api_error
docs: Check that the response from server has status code 2xx and that the response is valid JSON.