Php 知道如何连接到这个API吗?
我试图找到任何小部件来显示Tinkoof的银行汇率,因为它每60秒改变一次,但什么都没有。 最后是我,但没有任何文档 我试图找到任何关于解析的文章,但我想这是没有用的,因为并没有任何标记 我需要通过这个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
非常感谢 您只需要获取可以使用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()
将结果获取到PHPjson\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>";
?>