Как получить данные Siteadvisor?
Я выдал запрос на получение данных от администратора сайта, так как сайт был перенаправлен на mcafee, поэтому я редактировал свой код, но все еще безрезультатно. Я не знаю, какая часть не так.
То, что я хотел, это что: если: alt является минимальным, то это 1, или alt является умеренным, это 2, или если alt является высоким, то это 3
Ниже приведен код:
/ * Получить данные рейтинга SiteAdvisor
-------------------------------------------------- */
публичная функция getSiteAdvisor($ домен)
{
пытаться
{
$ callback_url = " https://www.mcafee.com/threat-intelligence/site/default.aspx?url= ". $ Домен; $curl_response = $this->curl->get($callback_url);
if ($curl_response->headers['Status-Code'] == "200") {
libxml_use_internal_errors(TRUE);
$this->dom_doc->loadHTML($curl_response);
libxml_use_internal_errors(FALSE);
$xpath = new DOMXPath($this->dom_doc);
$tmp = $xpath->query('/html/body//div[@class="threeFourth"]//img/@alt')->item(0);
if ($tmp->hasAttribute('src')) {
$tmp = $tmp->getAttribute('src');
if (stripos($tmp, "Minimal") !== false) {
$siteadvisor_rating = 1;
} elseif (stripos($tmp, "Moderate") !== false) {
$siteadvisor_rating = 2;
} elseif (stripos($tmp, "High") !== false) {
$siteadvisor_rating = 3;
} else {
$siteadvisor_rating = 0;
}
} else {
$siteadvisor_rating = 0;
}
} else {
$siteadvisor_rating = 0;
}
$response = array(
'status' => 'success',
'data' => array(
'siteadvisor' => (int)$siteadvisor_rating
)
);
}
catch (Exception $e)
{
$response = array(
'status' => 'error',
'msg' => $e->getMessage()
);
}
return $response;
}
Before the URL is: http://www.siteadvisor.com/sites/=
но он был перенаправлен на: https://www.mcafee.com/threat-intelligence/site/default.aspx?url=
и старый /html/body//div[@id="siteVerdict"]//img'), а также зеленый, желтый, красный, имя.
1 ответ
Решение
Я нашел ответ на этот вопрос: моя ошибка - "src". Должен быть заменен на "alt".
if ($tmp->hasAttribute('alt')) { $tmp = $tmp->getAttribute('alt');
if (stripos($tmp, "Minimal") !== false) {
$siteadvisor_rating = 1;
} elseif (stripos($tmp, "Moderate") !== false) {
$siteadvisor_rating = 2;
} elseif (stripos($tmp, "High") !== false) {
$siteadvisor_rating = 3;
} else {
$siteadvisor_rating = 0;
}
} else {
$siteadvisor_rating = 0;
}
} else {
$siteadvisor_rating = 0;`