Я получил информацию о получении данных от администратора сайта, так как теперь сайт был перенаправлен на mcafee, поэтому я редактировал свой код, но по-прежнему безрезультатно. Я не знаю, какая часть не так.
Что я хотел, так это если:
alt является минимальным, тогда это 1, или alt является умеренным, это 2, или если alt является высоким, то это 3
Ниже приведен код:
/ * Получить данные рейтинга SiteAdvisor
-------------------------------------------------- * /
публичная функция getSiteAdvisor ($ домен)
{
пытаться
{
$ callback_url = "https://www.mcafee.com/threat-intelligence/site/default.aspx?url=". $ domain;
$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=
и
old / html / body // div [@ id = "siteVerdict"] // img ')[/ NOEDIT] а также зеленый, желтый, красный, название.
Я нашел ответ на это:
моя ошибка в том, что ‘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;`
Других решений пока нет …