Я пытаюсь выполнить анализ HTML DOM. Анализ, который я делаю, зависит от URI страницы. Проблема в том, что когда я загружаю файл HTML, как показано ниже:
// Creat HTML DOM
$dom_document = new DOMDocument();
@$dom_document->loadHTMLFile('http://www.google.com/');
Иногда сайт перенаправляет меня (например, Google может перенаправить меня на домен определенной страны). Вопросы:
- Как предотвратить перенаправление? Я хочу явно указать, какую страницу я хочу проанализировать, а не отправлять на другую страницу. Мне не нужно использовать DOMDocument.
- Если нет способа предотвратить перенаправление, есть ли хотя бы способ узнать, на какой URI я был отправлен?
РЕДАКТИРОВАТЬ 1:
function get_html_content($url)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_ENCODING, 'gzip');
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, FALSE); // not good for 301 redirects
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_URL, $url);
$data = curl_exec($ch);
// Check if any error occured
if(curl_errno($ch))
{
echo 'Curl error: ' . curl_error($ch);
assert(FALSE);
die();
}
curl_close($ch);
return $data;
}