【发布时间】:2018-01-04 07:20:47
【问题描述】:
我通常使用此代码从 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 服务 暂时不可用
如果我通过浏览器打开这个网站,它就可以正常工作。我发现该网站受 Cloudflare 保护。
我也用这段代码测试了 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 内容?
【问题讨论】:
-
我的猜测是 Cloudflare 等待屏幕给你这个问题。它会检查浏览器,但我不确定它在
curl和类似方面的表现如何