Как достать данные из интернета
Всем привет)
Я разговаривал с некоторыми начинающими скриптерами, и когда заводил тему про внешние данные или работу с базами данных, люди просто не понимали, как это все работает. Один парень мне сказал, — «Отдельно команды вроде понятны, но связать все вместе не получается.»
Так вот, давайте попробуем не заморачиваться а достать данные текущего прогноза погоды.
Почти 2 часа я убил на то, чтобы найти сервис, который представляет данные о погоде в формате JSON без регистрации и всяких там API ключей. В итоге нашел этот.
К тому-же он предоставляет очень простенькую инфу, и работает без всяких ключей.
Получилось вот что:
Код для копирования:
key http_request_id;
string city="";
default
{
state_entry()
{
city=«moscow»;
}
touch_start(integer num_detected)
{
string ful_adr=«opogode.ua/api/v1/current.json?city=» + city;
http_request_id = llHTTPRequest(ful_adr, [HTTP_VERIFY_CERT, FALSE], "");
}
http_response(key request_id, integer status, list metadata, string body)
{
if (request_id != http_request_id) return;// exit if unknownstring city_parse = llJsonGetValue( body, [«city»]);
string city_name = llJsonGetValue( city_parse, [«name_ru»]);
string weather = llJsonGetValue( body, [«weather»]);
string temperature = llJsonGetValue( weather, [«temperature»]);
string pressure = llJsonGetValue( weather, [«pressure»]);
string humidity = llJsonGetValue( weather, [«humidity»]);
llSay(0, «В городе » + city_name + " температура воздуха=" + temperature + «гр/сельсия, давление=» + pressure + «мм, влажность воздуха=» + humidity + "%");
}
}
Если у кого есть вопросы, прошу задавать.