Informações do tempo com o Open Weather [Exemplo em Python]

Há algum tempo atrás, postei aqui no blog um artigo de como usar a Google Weather API, só que infelizmente esse projeto foi descontinuado. Na busca de uma nova forma de obter essas informações facilmente acabei encontrando o Open Weather.

Open Weather

O Open Weather é um projeto que visa disponibilizar informações do clima de praticamente todas as cidades do planeta, com ele é possível obter informações da temperatura atual, nebulosidade, umidade relativa do ar e até mesmo a hora do nascer e pôr do sol!

Utilizando na minha aplicação

Você pode obter as informações de duas formas: JSON e XML. Para obter os dados basta você efetuar uma requisição conforme abaixo:

Retornando em JSON:

http://api.openweathermap.org/data/2.5/weather?q=Itajai,BR

Retornando em XML:

http://api.openweathermap.org/data/2.5/weather?q=Itajai,BR&mode=xml

Os exemplos acima são por nome e país, mas existem também a possibilidade de se fazer a requisição utilizando a latitude e longitude:

http://api.openweathermap.org/data/2.5/weather?lat=35&lon=139

O Open Weather também possui suporte multi-línguas, para retornar os dados em português basta adicionar na URL a query string &lang=pt

http://api.openweathermap.org/data/2.5/forecast/daily?id=524901&lang=pt

Por padrão, o Open Weather retorna as informações de temperatura em Kelvin, para obter em Celsius basta adicionar na URL a query string units:

http://api.openweathermap.org/data/2.5/forecast/daily?id=524901&units=metric&

Exemplo em Python

Para exemplificar melhor o uso do Open Weather, aqui vai um pequeno script em Python onde leio os dados no formato JSON.


import urllib2 #para efetuar a requisicao
import json #para ler o JSON

data = urllib2.urlopen('http://api.openweathermap.org/data/2.5/weather?q=Itajai,BR&units=metric&lang=pt')
html = data.read()
weather = json.loads(html)
temperatura = str(weather['main']['temp']) + ' graus'
nebulosidade = str(weather['clouds']['all']) + ' %'
umidade = str(weather['main']['humidity']) + ' %'
print "Em Itajai %s. Nebulosidade: %s. Umidade relativa do ar: %s." % (temperatura, nebulosidade, umidade)

Por hoje é só!
Abraço

Autenticação SSL no Delphi – acessando o GMail.

Certamente algum cliente já deva ter lhe solicitado para adicionar uma “opçãozinha” de enviar e-mail na sua aplicação.
Mas e quando eu preciso fazer isso através do Gmail ou outro servidor que requer autenticação SSL? Neste artigo veremos como!

Delphi e SSL

Quem utiliza a função de envio de e-mails (e até de recebimento) pela paleta de componentes Indy, dispõe do componente TIdSSLIOHandlerSocket que faz a autenticação SSL com o servidor.

Basta adicionar no formulário e vincular ao IdSMTP ou IdPOP3. O vínculo é feito através da propriedade IOHandler.

acesso_gmail_delphi

acesso_gmail_delphi_obj

 

Importante!

Dependendo da versão do Indy que você está usando, é necessário que seja distribuída junto com a aplicação as DLL’s libeay32.dll e ssleay32.dll (as DLL’s para o Delphi 7 podem ser baixadas aqui: http://indy.fulgan.com/SSL/Archive/indy_openssl096.zip).

Simples, não?
Abraço e até a próxima!