Со вчерашнего дня (12.05.2016) перестал отдаваться XML по адресу http://export.yandex.ru/weather-ng/forecasts/34501.xml
Нашлась вот такая инфа от самого яндекса:
Для тех кому нужен парсинг погоды. Делюсь.
Официальный адрес для обращения к API:
https://api.weather.yandex.ru/v1/forecast?geoid=2&lang=ru
Заголовки, которые нужно передать для доступа:
User-Agent: yandex-weather-android/4.2.1 X-Yandex-Weather-Client: YandexWeatherAndroid/4.2.1 X-Yandex-Weather-Device: os=null;os_version=21;manufacturer=chromium;model=App Runtime for Chrome Dev;device_id=[DEVICE ID];uuid=[UUID]; X-Yandex-Weather-Token: [TOKEN] X-Yandex-Weather-Timestamp: [TIMESTAMP] X-Yandex-Weather-UUID: [UUID] X-Yandex-Weather-Device-ID: [DEVICE ID] Accept-Encoding: gzip, deflate Host: api.weather.yandex.ru Connection: Keep-Alive
Где [TOKEN] генерируется функцией
md5(secret.concat(timestamp))
Ну и соответственно secret - eternalsun
UUID и Device ID берите от вашего девайса на Android, либо получайте (как я) в ARC Welder.
UPD: Кому интересно, выдается в таком формате:
pastebin.com/w12KvC6q
информация была найдена тут
АПДЕЙТ 24.05.2016
Появился вариант брать погоду отсюда https://export.yandex.ru/bar/reginfo.xml, но - только для одного текущего дня. Если нужно для конкретного города, то урл будет выглядеть вот так:
https://export.yandex.ru/bar/reginfo.xml?region=$city_id.xml
где ID города можно узнать тут.