我是所有php api的新手,所以我已经开始使用api进行项目,但是每当我使用api时,它都会给我输出“ bool(false)”,我不知道为什么,有些帮助会不胜感激!抱歉,如果我的问题太la脚了,请告诉我在网址中应该在哪里使用api密钥!
<?php
include 'includes/header.php';
$ip = $_SERVER['REMOTE_ADDR'];
$ip_reputation = file_get_contents("https://api.apility.net/v2.0/ip/".$ip."");
var_dump($ip_reputation);
?>
<?php
include 'includes/footer.php';
?>
答案 0 :(得分:0)
您需要在API上进行身份验证。我会向您保证,他们的文档尚不清楚,您只能在示例中看到它。
但是,这意味着您的代码将稍长一点。
<?php
include 'includes/header.php'
$api_key = 'ReplaceThisWithYourAPICode';
$ip = $_SERVER['REMOTE_ADDR'];
// Set our headers
$opts = [
"http" => [
"method" => "GET",
"header" => "X-Auth-Token: $api_key"
]
];
$context = stream_context_create($opts);
$file = file_get_contents("https://api.apility.net/v2.0/ip/".$ip, false, $context);
var_dump($file);
附加代码为file_get_contents
提供了stream context,其中包含请求标头和要使用的HTTP动词(此处为GET)。
如果不这样做,无论您采取什么措施,都将使您进入其“匿名”计划。我相对确定您现在没有响应正文,这说明了file_get_contents
返回false
的原因(这是一个错误)。