Ошибка при получении курса обмена валюты из Google Finance API

Код ниже работал нормально в производственной среде за последние несколько месяцев. Недавно он начал ломаться.

Вчера он выдавал ошибку HTTP для функции file_get_contents. Сегодня при выполнении он показывает ошибку неопределенного смещения.

Я не уверен, что изменилось в Google Финансах API.

public function getJPYtoUSDExchangeRate(){
        $from    = 'JPY';
        $to    = 'USD';
        $amount  = 1;
        $data = file_get_contents("https://finance.google.com/finance/converter?a=$amount&from=$from&to=$to");
        preg_match("/<span class=bld>(.*)<\/span>/",$data, $converted);
        $converted = preg_replace("/[^0-9.]/", "", $converted[1][0]);
        return number_format(round($converted, 3),2);
}

person Pooja    schedule 20.03.2018    source источник
comment
Пожалуйста, отметьте язык.   -  person lebelinoz    schedule 20.03.2018
comment
Спасибо, Бенджамин Смит. Я попытался изменить URL-адрес на financial.google.com/bctzjpnsun/converter, и теперь он работает. Подробности представлены здесь: stackoverflow.com/questions/49324112/   -  person Pooja    schedule 22.03.2018
comment
Изменение URL-адреса на financial.google.com/bctzjpnsun/converter работало несколько недель, и теперь оно снова ломается по сравнению с прошлыми 2 днями. Что-нибудь снова изменилось? Есть ли лучший способ узнать курс обмена валюты?   -  person Pooja    schedule 05.06.2018


Ответы (2)


Наконец, я нашел решение для этого с обновленным URL-адресом Google для конвертера валют https://finance.google.com/bctzjpnsun/converter

Спасибо

person iamal    schedule 22.03.2018

Проблема связана со ссылкой, Google недавно обновил ссылку api, и я добился успеха один раз, проверив 10 раз существующую ссылку. Попробуйте перейти по этой ссылке https://www.google.com/finance/converter

см. этот https://www.techbuy.in/google-finance-api-currency-converter-not-working-updated-link-check-currency-converter/

person iamal    schedule 21.03.2018
comment
Спасибо iamal за быстрый ответ. Переход на google.com/finance/converter не работает. Я изменил его на financial.google.com/bctzjpnsun/converter и, похоже, теперь он работает. Я не уверен, что вызвало ошибку. Но я все равно подожду несколько дней, прежде чем вносить изменения в производство. Спасибо. - person Pooja; 22.03.2018