Php 谷歌安全浏览API没有响应-正在发回响应状态
我正在尝试将谷歌安全浏览API集成到我的网站中。委员会: 我所尝试的:Php 谷歌安全浏览API没有响应-正在发回响应状态,php,json,curl,safe-browsing,Php,Json,Curl,Safe Browsing,我正在尝试将谷歌安全浏览API集成到我的网站中。委员会: 我所尝试的: $apiKey = 'MyFakeAPiKey-pozpkefpoqskpfazejsqpi'; $url = 'http://www.bbc.com/'; $url = urlencode($url); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://sb-ssl.google.com/safebrowsing/api/lookup?client=fir
$apiKey = 'MyFakeAPiKey-pozpkefpoqskpfazejsqpi';
$url = 'http://www.bbc.com/';
$url = urlencode($url);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://sb-ssl.google.com/safebrowsing/api/lookup?client=firefox&key='. $apiKey.'&appver=1.5.2&pver=4.0&url='.$url");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
$headers = array();
$headers[] = "Content-Type: application/json";
$headers[] = "Content-length: auto";
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
}
curl_close($ch);
echo print_r($result, true);
我没有得到回应。我做错了什么 我找到了解决办法。一切正常
$url = 'http://911.sos-empleados.net';
$apiKey = 'Your API';
$apiUrl = 'https://safebrowsing.googleapis.com/v4/threatMatches:find?key='.$apiKey;
$params = [
'client' => [
'clientId' => 'foobar',
'clientVersion' => '1.2.3'
],
'threatInfo' => [
"threatTypes" =>["MALWARE", "SOCIAL_ENGINEERING"],
"platformTypes" => ["WINDOWS"],
'threatEntryTypes' => ['URL'],
'threatEntries' => [
[ 'url' => $url ]
]
]
];
$ch = curl_init($apiUrl);
curl_setopt_array($ch, [
CURLOPT_POST => 1,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_HEADER => 1,
CURLOPT_POSTFIELDS => json_encode($params),
CURLOPT_HTTPHEADER => [
'Content-Type: text/json'
]
]);
$res = curl_exec($ch);
?> <pre><?php echo print_r($res, true); ?></pre> <?php
?>
$url='1!'http://911.sos-empleados.net';
$apiKey=‘您的API’;
$apiUrl='1https://safebrowsing.googleapis.com/v4/threatMatches:find?key=“.$apiKey;
$params=[
“客户端”=>[
'clientId'=>'foobar',
'客户端版本'=>'1.2.3'
],
“threatInfo”=>[
“threatTypes”=>[“恶意软件”、“社会工程”],
“平台类型”=>[“窗口”],
'threatEntryTypes'=>['URL'],
“threatEntries'=>[
['url'=>$url]
]
]
];
$ch=curl\u init($apirl);
curl_setopt_数组($ch[
CURLOPT_POST=>1,
CURLOPT_RETURNTRANSFER=>1,
CURLOPT_头=>1,
CURLOPT_POSTFIELDS=>json_encode($params),
CURLOPT_HTTPHEADER=>[
'内容类型:text/json'
]
]);
$res=curl_exec($ch);
?>
您使用的是旧版本的API。代码中的端点对应于安全浏览API的版本1,该版本在2011年12月被弃用,并已关闭
您需要更新到受支持的API版本——最好是v4,因为这是最新版本。如果这是您真正的API密钥,您应该立即使其失效。它永远是妥协的,你需要生成一个新的。谢谢Chris,但我在问题的底部指出,这个密钥不是真实的。弃用并不等于不工作。我设法使v3和v4都能工作,但当然还是使用了v4。我提供的答案是针对v4的。不推荐使用的是安全浏览API的版本1,随后关闭了,尽管我找不到确切的日期。(以及版本2)更高的版本还可以,但是您最初发布的代码特定于旧的、非功能的API版本。