ЦБ РФ предоставляет услугу получения информации через XML: http://www.cbr.ru/scripts/Root.asp?PrtId=SXML
Пример запроса для Евро на дату 07.09.2016: http://www.cbr.ru/scripts/XML_dynamic.asp?date_req1=07/09/2016&date_req2=07/09/2016&VAL_NM_RQ=R01239
где date_req1 — дата; VAL_NM_RQ — код Евро
Результатом будет ответ:
<?xml version=»1.0″ encoding=»WINDOWS-1251″?>
-<ValCurs name=»Foreign Currency Market Dynamic» ID=»R01239″ DateRange2=»07.09.2016″ DateRange1=»07.09.2016″>
-<Record Id=»R01239″ Date=»07.09.2016″>
<Nominal>1</Nominal>
<Value>72,3639</Value>
</Record>
</ValCurs>
Для теста создайте простой HTML документ:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
<!DOCTYPE html> <html> <body> <div id='showEuro'></div> <script> displayEuro(0); function displayEuro(i) { var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this, i); } }; xmlhttp.open("GET", "http://www.cbr.ru/scripts/XML_dynamic.asp?date_req1=07/09/2016&date_req2=07/09/2016&VAL_NM_RQ=R01239", true); xmlhttp.send(); } function myFunction(xml, i) { var xmlDoc = xml.responseXML; x = xmlDoc.getElementsByTagName("Record"); document.getElementById("showEuro").innerHTML += "Euro: " + x[i].getElementsByTagName("Value")[0].childNodes[0].nodeValue; } </script> </body> </html> |
Результат загрузки страницы:
Euro: 72,3639