我不确定为什么会出现这种行为?我正在尝试在我的 PHP 脚本中实现 Blockchain.com Web API。他们的文档指出我应该使用file_get_contents
PHP 函数来查询它,我这样做:
$xpub = "xpub123455";
$callback_url = "https://example.com";
$APIKey = "12345";
$url = "https://api.blockchain.info/v2/receive?xpub=".urlencode($xpub).'&callback='.urlencode($callback_url).'&key='.urlencode($APIKey);
//echo("URL: ".htmlentities($url)."<br><br>");
$res = @file_get_contents($url);
if($res)
{
echo("RES: ".htmlentities(var_export($res, true)));
}
else
{
$err = error_get_last();
echo("err: ".($err && isset($err['message']) ? $err['message'] : "-"));
}
在这种情况下file_get_contents
返回false
,如果我再调用error_get_last
,我会收到以下错误:
错误:file_get_contents(-url-):打开流失败:HTTP 请求失败!HTTP/1.1 401 未经授权
但是,如果我只是复制要传递的 URLfile_get_contents
并将其粘贴到Chrome 的地址栏中:
https://api.blockchain.info/v2/receive?xpub=xpub123455&callback=https%3A%2F%2Fexample.com&key=12345
它返回一个有效的 JSON 数据:
为什么这两个输出不同?我怎样才能得到 JSON 响应file_get_contents
?