Freecodecamp: CodePen блокирует Open Weather Map API

Созданный на 20 апр. 2016  ·  10Комментарии  ·  Источник: freeCodeCamp/freeCodeCamp

Название испытания

https://www.freecodecamp.com/challenges/show-the-local-weather

Описание проблемы

Показать местные погодные условия рекомендует использовать Open Weather Map API. Что до сих пор работало нормально. Теперь вы получите сообщение об ошибке «pen.js: 22 Mixed Content: страница по адресу [...] была загружена по HTTPS, но запросил небезопасную конечную точку XMLHttpRequest ' http://api.openweathermap.org/data/2.5/ weather? lat = 30.281903699999997 & lon = -97.73883819999999 & appid = 41bf32baf1dc0b1bb46d120a3cbdbc57 '. Этот запрос был заблокирован; контент должен обслуживаться через HTTPS. "

Информация о браузере

  • Имя браузера, версия: Google Chrome, 49.0.2623.112
  • Операционная система: Mac OS Yosemite
  • Мобильный, настольный компьютер или планшет: настольный компьютер

Ваш код

// If relevant, paste all of your challenge code in here

Скриншот

help wanted projects-frontend bug

Самый полезный комментарий

https://cors-anywhere.herokuapp.com/
Это сработало для меня, если вы поместили его перед исходным URL-адресом
В заключение :)

Все 10 Комментарий

@anthkris это было исправлено с помощью # 8141.
Изменения должны появиться на основном сайте через пару дней.

Чтобы обойти эту проблему, откройте версию http ссылки CodePen, как показано ниже:
http://codepen.io/FreeCodeCamp/full/bELRjV

а не ссылку https в задании.

Ссылка будет обновлена, как только исправления попадут на главный сайт.

Даже когда я открываю http-версию ссылки в Chrome и Firefox, http-вызов OpenWeather API блокируется. Я уже завершил свой проект Local Weather, но я не могу отправить такой проект на Codepen. URL-адрес отлично работает при просмотре в Safari. Я мог думать только о том, чтобы отправить этот проект, размещенный на моем собственном сервере, или найти другой бесплатный API погоды, поддерживающий SSL.

@ j7an см. обсуждение на # 7853

все еще заблокирован

@rolandocz попробуйте прогноз.io, как упоминалось здесь @ 149203 : https://github.com/freeCodeCamp/freeCodeCamp/issues/7853#issuecomment -222315358

Или вы можете попробовать решение здесь: https://forum.freecodecamp.com/t/local-weather-api-for-people-stuck-because-of-the-https-request/50274/17?u=j7an

Все еще заблокирован

https://cors-anywhere.herokuapp.com/
Это сработало для меня, если вы поместили его перед исходным URL-адресом
В заключение :)

@isingmoon77 Я отлично работаю для меня.

$.getJSON("https://cors-anywhere.herokuapp.com/http://api.openweathermap.org/data/2.5/weather?lat="+lat+"&lon="+lon+"&appid=1c48b076cbce09ca93cfff52b6c839c1",function(json){
   // other code goes here
}

@raisedadead codepen автоматически перенаправляет HTTP-запрос на HTTPS, поэтому ваш метод не работает.

Вы не можете выполнить http-запрос с https-сайта. А поскольку для использования navigation.geolocation вам нужно использовать https, лучше всего просто использовать https API, например darksky .

@raisedadead Думаю, этот вопрос можно закрыть из-за # 15598

Была ли эта страница полезной?
0 / 5 - 0 рейтинги