file_get_contents被网站阻止

时间:2018-01-04 07:20:48

标签: php json curl

我通常使用此代码从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内容吗?

1 个答案:

答案 0 :(得分:0)

它是一种云眩光保护。我不确切知道它是如何工作的,但是如果你对这个不是浏览器的网址进行任何其他调用,它会抛出错误503.我也尝试了wgetcurl在命令行中具有相同的效果。