php - PHP 安全浏览返回空字符串
问题描述
这个 PHP 文件用于通过安全浏览了解网站是否安全。
$curl = curl_init();
$certificate="C:\cacert.pem";
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://safebrowsing.googleapis.com/v4/threatMatches:find?key= [API_KEY]',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_CAINFO => $certificate,
CURLOPT_CAPATH => $certificate,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => " {
'client': {
'clientId': 'nameclient',
'clientVersion': '1.0.0'
},
'threatInfo': {
'threatTypes': ['MALWARE', 'SOCIAL_ENGINEERING'],
'platformTypes': ['WINDOWS'],
'threatEntryTypes': ['URL'],
'threatEntries': [
{'url': 'http://www.yoytube.com/'}
]
}
}",
CURLOPT_HTTPHEADER => array(
'content-type: application/json'
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
输出应类似于此响应正文
{
"matches": [
{
"threatType": "MALWARE",
"platformType": "WINDOWS",
"threatEntryType": "URL",
"threat": {
"url": "http://www.example.org/"
},
"threatEntryMetadata": {
"entries": [{
"key": "malware_threat_type",
"value": "landing"
}]
},
"cacheDuration": "300.000s"
}
}]
}
但目前我的输出是{}
一开始我试图通过这个网址
https://sb-ssl.google.com/safebrowsing/api/lookup?client=' . CLIENT . '&apikey=' . API_KEY . '&appver=' . APP_VER . '&pver=' . PROTOCOL_VER . '&url=' . $urlToCheck
在curl_init()
,但在这种情况下,返回的状态是0
解决方案
推荐阅读
- python - Django 在索引页面上显示帖子,每个帖子下都有几个答案(由外键链接)
- c - 在 Lexer/Bison 中识别系统库命令的最佳方法
- teamcity - TeamCity 仅更新某些程序集版本
- algorithm - 所有大小为 A x B 的 2D 子数组的最大值
- c++ - 以下线程代码是否存在任何潜在的内存泄漏或死锁?
- mongodb - 在 mongodb 容器中创建多个访问用户
- php - 如何在 Laravel 的资源控制器的方法中自动添加条件?
- laravel - 在 laravel 5.8 中从 groupBy 创建分页
- security - 确保反序列化对象在这里是安全的 - SonarQube 错误
- elasticsearch - 使用 XPack 在 K8S 上进行 Elasticsearch