Freecodecamp: CodePen está bloqueando a API Open Weather Map

Criado em 20 abr. 2016  ·  10Comentários  ·  Fonte: freeCodeCamp/freeCodeCamp

Nome do Desafio

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

descrição do problema

Mostrar as recomendações do desafio do clima local usando a API Open Weather Map. Que funcionou bem até agora. Agora você receberá um erro dizendo "pen.js: 22 Conteúdo misto: A página em [...] foi carregada por HTTPS, mas solicitou um endpoint XMLHttpRequest inseguro ' http://api.openweathermap.org/data/2.5/ weather? lat = 30.281903699999997 & lon = -97.73883819999999 & appid = 41bf32baf1dc0b1bb46d120a3cbdbc57 '. Esta solicitação foi bloqueada; o conteúdo deve ser servido por HTTPS. "

Informação do navegador

  • Nome do navegador, versão: Google Chrome, 49.0.2623.112
  • Sistema operacional: Mac OS Yosemite
  • Celular, desktop ou tablet: desktop

Seu código

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

Captura de tela

help wanted projects-frontend bug

Comentários muito úteis

https://cors-anywhere.herokuapp.com/
Isso funcionou para mim se você colocá-lo antes do URL inicial
Finalmente :)

Todos 10 comentários

@anthkris isso foi corrigido com # 8141.
As alterações devem chegar ao site principal em alguns dias.

Para contornar o problema, abra a versão http do link CodePen como em:
http://codepen.io/FreeCodeCamp/full/bELRjV

e não o link https no desafio.

O link será atualizado assim que as correções chegarem ao site principal.

Mesmo quando abro a versão http do link no Chrome e no Firefox, a chamada http para a API OpenWeather está sendo bloqueada. Já terminei meu projeto de Clima Local, mas não posso enviar o projeto assim no Codepen. O URL funciona bem ao visualizar no Safari. Eu só poderia pensar em enviar este projeto hospedado em meu próprio servidor ou encontrar outra API de clima gratuita que suporte SSL.

@ j7an consulte a discussão em # 7853

ainda bloqueado

Ainda bloqueado

https://cors-anywhere.herokuapp.com/
Isso funcionou para mim se você colocá-lo antes do URL inicial
Finalmente :)

@isingmoon77 Ya está funcionando bem para mim.

$.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 é redirecionado automaticamente para a solicitação HTTP para HTTPS, de forma que seu método não funciona.

Você não pode fazer uma solicitação http de um site https. E como você tem que usar https para usar o navigation.geolocation, a melhor coisa a fazer é apenas usar uma API https como darksky .

@raisedadead Acho que este problema pode ser resolvido devido a # 15598

Esta página foi útil?
0 / 5 - 0 avaliações