JSONDecodeError на PythonAnywhere

Я пытаюсь развернуть свое приложение на PythonAnywhere. Все работает нормально, но когда я вызываю функцию, мое приложение дает сбой.

Тип исключения: JSONDecodeError Значение исключения: Ожидаемое значение: строка 1, столбец 1 (символ 0)

Ошибка изображения Imgur, часть 1

Ошибка изображения Imgur, часть 2

Я читал другие ответы, но никто не работает на меня. Проблема в этом фрагменте кода:

        parametros = {'location': lugar, 'API_KEY': api_code}
        url = 'http://servizos.meteogalicia.es/apiv3/findPlaces'

        # Enviamos la peticion
        peticion = requests.get(url, parametros)

        # Obtenemos la respuesta
        respuesta = json.loads(peticion.text)

ОБНОВЛЕНИЕ 1

Та же ошибка:

        parametros = {'location': lugar, 'API_KEY': api_code, 'format': 'application/json'}
        url = 'http://servizos.meteogalicia.es/apiv3/findPlaces'

        # Enviamos la peticion
        try:
            peticion = requests.get(url, parametros)
        except:
            peticion.raise_for_status()

        # Obtenemos la respuesta
        respuesta = json.loads(peticion.text)

И JSON кажется действительным:

Проверка JSON


person Hugo L.M    schedule 03.05.2017    source источник
comment
Вместо этого попробуйте requests.json() - пусть он разберется с кодировкой.   -  person tdelaney    schedule 03.05.2017
comment
Точно такая же ошибка @tdelaney   -  person Hugo L.M    schedule 03.05.2017
comment
Хорошо, проблема выглядит так: ibb.co/e5aki5 Не знаю, почему служба поддержки не ответила скажите мне, что когда я пытался получить поддержку в первый раз....   -  person Hugo L.M    schedule 03.05.2017
comment
Интересно. В первый раз при обработке первого возникло второе исключение, что усложнило его обнаружение.   -  person tdelaney    schedule 03.05.2017
comment
Примечания к публикации: мы предпочитаем загружать изображения на imgur.com, предпочтительно через встроенный загрузчик. Это делает внешние ссылки на изображения более надежными в будущем. Для монтажных панелей мы предпочитаем, чтобы они вообще не использовались, поскольку ссылки умирают и оставляют вопрос, который (иногда) не имеет смысла без него. Не могли бы вы отредактировать это в вопросе? Я ценю, что это решено для вас, но мы хотели бы сохранить вопросы и ответы в хорошем состоянии для будущих читателей здесь. Спасибо!   -  person halfer    schedule 04.05.2017
comment
Ты абсолютно прав @halfer, моя вина. Сегодня вечером воспроизведу ошибку и загружу изображение.   -  person Hugo L.M    schedule 04.05.2017
comment
Прекрасная, очень ценится. Этого недостаточно, спасибо, но как только вы отредактируете, пингуйте меня, чтобы получить очки единорога!   -  person halfer    schedule 04.05.2017
comment
Отредактировано; так намного лучше. Еще раз спасибо @halfer   -  person Hugo L.M    schedule 05.05.2017


Ответы (2)


(Опубликовано от имени OP).

Я получил это сообщение поддержки, поэтому проблема решена:

Ах! Извините, я действительно должен был заметить это первым. Бесплатные пользователи ограничены доступом к сайтам из белого списка веб-сайтов с официально задокументированными API, и по какой-то причине я думал, что сайт уже был в белом списке.

Я добавлю его сейчас и дам вам знать, когда он будет активен.

person Community    schedule 03.05.2017

Проблема скорее всего здесь:

File "./consulta/views.py" in formulario
  32.             respuesta = json.loads(peticion.text)

Кажется, что peticion.text не является допустимой строкой JSON.

person Bruce    schedule 03.05.2017
comment
Попробуйте добавить peticion.raise_for_status() после вызова get в случае, если ответ является ответом об ошибке (вам в любом случае следует обернуть вызов в try, кроме ошибок блокировки и обработки). - person Bruce; 03.05.2017