Php 知道如何连接到这个API吗?

Php 知道如何连接到这个API吗?,php,html,api,Php,Html,Api,我试图找到任何小部件来显示Tinkoof的银行汇率,因为它每60秒改变一次,但什么都没有。 最后是我,但没有任何文档 我试图找到任何关于解析的文章,但我想这是没有用的,因为并没有任何标记 我需要通过这个API在我的网站上显示汇率。有什么想法吗? 非常感谢 您只需要获取可以使用cURL或file\u get\u contents()的内容 卷曲版本: <?php $url = "https://www.tinkoff.ru/api/v1/currency_rates"; $curl = c

我试图找到任何小部件来显示Tinkoof的银行汇率,因为它每60秒改变一次,但什么都没有。 最后是我,但没有任何文档

我试图找到任何关于解析的文章,但我想这是没有用的,因为并没有任何标记

我需要通过这个API在我的网站上显示汇率。有什么想法吗?
非常感谢

您只需要获取可以使用cURL或file\u get\u contents()的内容

卷曲版本:

<?php

$url = "https://www.tinkoff.ru/api/v1/currency_rates";
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
$r = curl_exec($curl);
curl_close($curl);
$array = json_decode($r, true);

echo "<pre>";
print_r($array);
echo "</pre>";

?>

文件\u获取\u内容版本:


除非远程网站要求你是人类(有额外的验证来阻止机器人的请求),否则这两种方法都可以工作。如果是这样的话,cURL将是一种更好的方法,因为您可以使用头数组伪造用户代理


构建阵列后,只需访问所需的数据即可。使用$r作为远程json结构的数组结果。

这对我来说非常简单。对于具备PHP相关知识的人,如果输出为:

现在有了上述信息,我想:

  • 使用
    file\u Get\u contents()
    将结果获取到PHP
  • 使用
    json\u decode($contents,$true)
    将结果解析为数组
  • 使用上面的结果,我将使用以下方法显示值:
    $output[“payload”][“rates”][0][“buy”]
    或类似的方法
  • 在写这篇文章的时候,上面的内容将使我得到
    58


    这似乎很奇怪,但唯一能显示它的标签。我有PHPV7.0,服务器支持curl。我甚至检查了我的php.ini。我很抱歉我用了json_decode($r,$true)或者json_decode($r,true)lol我编辑了我的代码lol发生在我编写代码的时候lol我这次也测试了我的代码非常感谢!真的,谢谢你的帮助和解释!不客气;-)print\u r PRINTS-并返回int(1)-这里的echo将获取print\r返回的int(1),并将其打印出来,因此它将包含print\r打印的任何内容,以及1。。。这绝对不是你想要的。去除回声。此外,它容易受到XSS注入的攻击,tinkoff.ru可以注入它想要的任何恶意javascript,以防止它需要进行html编码(以及防止在html中具有特殊含义的意外字符)。要解决这两个问题,请执行
    echo htmlentities(print_r(json_decode($r,true),true),ENT_QUOTES | ENT_HTML401 | ENT_SUBSTITUTE | ENT|u DISALLOWED,'UTF-8',true)
    
    <?php
    $r = file_get_contents('https://www.tinkoff.ru/api/v1/currency_rates');
    
    echo "<pre>";
    echo print_r(json_decode($r, true));
    echo "</pre>";
    ?>