我通常使用此代码从API获取JSON内容:
$url_price_mun = "https://coinsmarkets.com/apicoin.php";
$json_price_mun = json_decode(file_get_contents($url_price_mun), true);
print_r ($json_price_mun);
但是在这个案例中https://coinsmarkets.com/apicoin.php
来自这个网站我收到了一个错误:
警告:file_get_contents(https://coinsmarkets.com/apicoin.php): 无法打开流:HTTP请求失败! HTTP / 1.1 503服务 暂时不可用
如果我通过浏览器打开本网站而不是它的工作。我认识到该网站受到了云端保护。
我也使用此代码测试了Curl,但输出为空白:
$url = 'https://coinsmarkets.com/apicoin.php';
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, $url);
$result = curl_exec($ch);
curl_close($ch);
$obj = json_decode($result);
print_r ($obj);
我希望有人可以帮助我通过PHP从这个网站获取JSON内容吗?
答案 0 :(得分:0)
它是一种云眩光保护。我不确切知道它是如何工作的,但是如果你对这个不是浏览器的网址进行任何其他调用,它会抛出错误503.我也尝试了wget
和curl
在命令行中具有相同的效果。