Как конвертировать валюту с помощью API валюты Google в Php?

Я использую API конвертации валют Google в php, используя file_get_content, но не могу получить выходные данные из-за ошибки, поэтому как конвертировать любую валюту, используя следующий API в Php.

<?php
function convertCurrency($amount, $from, $to)
{
$url = "http://www.google.com/finance/converter?a=$amount&from=$from&to=$to";
$data = file_get_contents($url);
preg_match("/<span class=bld>(.*)<\/span>/",$data, $converted);
return $converted[1];
}
echo convertCurrency(1500, 'USD', 'INR');
?>

Получение ошибки, как это

Message: file_get_contents(http://www.google.com/finance/converter?a=1500&from=USD&to=INR): failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden

1

Решение

Я уже ответила очень похожий вопрос всего несколько дней назад (код был почти таким же, как ваш).

Я призываю вас прочитать мой ответ:

Вы не вызываете реальный API, вы очищаете веб-страницу, а это означает, что:

  • вы, скорее всего, нарушаете TOS Google
  • у вас больше шансов получить ограничение по ставке (или быть замеченным как злоупотребление и попасть в черный список) в какой-то момент, если вы слишком часто получаете эту страницу

Это, вероятно, то, что вы столкнулись здесь. Скорее всего, вы попали в черный список.

Решение: используйте правильный API, такой как OpenExchangeRates.

0

Другие решения

Немного поздно, но это может помочь кому-то,
Как Вениамин сказал

Вы не вызываете реальный API, вы очищаете веб-страницу, а это означает, что:

  • вы, скорее всего, нарушаете TOS Google
  • у вас больше шансов получить ограничение по ставке (или быть замеченным как злоупотребление и попасть в черный список) в какой-то момент, если вы слишком часто получаете эту страницу

Фрагмент кода

$url = "https://www.google.com/search?q=INR+to+USD";//Change Accordingly
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$result = curl_exec($ch);
$data = explode("1 Indian Rupee = ",$result);//Change Accordingly
$one_inr_rate_to_usd = (float) substr($data[1],0,7);
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector