| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Курсы валют |
| Автор: Ripper 12.12.2013, 00:05 |
| Объясните пожалуйста, вот я хочу спарсить курс валют. http://www.cbr.ru/scripts/XML_daily.asp вот как бы XML. Все хорошо, но есть две проблемы 1. Сайт ЦБ РФ лежит пол дня постоянно 2. Когда он не лежит то используя любые ф-ии типа file_get_contents или simplexml_load_file я получаю connection refused, причем я особо не спамил, с разных компов заходил и получал одно и то же. Я вообще никак не могу понять откуда достать курс ЦБ РФ в XML или JSON. Парсить сайты не хочется. Причем курс нужно получать часто, поэтому я его хочу закешировать где нибудь, и скажем раз в час обновлять, но я даже ни разу не могу получить этот курс. Такое чувство что я чего то не понимаю, но уже бесит честно говоря =\ У меня задача такая что на сайт будут стучаться каждые 30 секунд за этим курсом, допустим я его кеширую на часов 6, но мне нужно очень долго долбится чтобы получить xml-ку, и будет момент простоя пока я буду долбится чтобы положить в кеш ... |
| Автор: Sanchezzz 12.12.2013, 00:23 | ||
А если сказать что я браузер?)
|
| Автор: Ripper 12.12.2013, 00:37 |
| Ща проверю... если это заработает то я прям расплачусь от счастья) Только вот щас CBR отпустит (он не доступен опять у меня) Ну вот в браузере (когда сайт не лежит) открывается всегда, в PHP раза 3 из 30 проскочило) я просто вывел $xml_str |
| Автор: krypt3r 12.12.2013, 06:46 | ||
У меня в кроне скрипт с курлом нормально работает вот уже 1.5-2 года. Курл вот с такими настройками
|
| Автор: Ripper 12.12.2013, 10:08 | ||||
Блин, что-то совсем не то.
Вот функция. Вызываю
Открываю в ФФ сам сайт - ХМЛ открывается. Открываю свой скрипт - 1 из 20 раз выдает ХМЛ, остальное время curl_error(...) string (24) "couldn't connect to host" |
| Автор: doctor2k 14.12.2013, 03:21 | ||||||||
| Рефакторинг - просто странное слово? Вместо вот этого вот:
попробуй сделать так:
на выходе получишь массив вида:
Добавлено через 2 минуты и 2 секунды Да, и пример валидных опций:
обрати внимание, что таймаут тут не шутки ради закомменчен. при нестабильной работе сети это помогает |