Я пытаюсь прочитать html-страницу, используя простой html-дом, для которого требуется авторизация для входа.
например: http://example.com/login/ - это страница входа, а http://example.com/page/ - это место, где я должен проанализировать HTML.
Поэтому я использовал curl для входа в систему и простой html-файл для анализа.
Но я не знаю, входит ли моя страница в систему или нет, потому что, когда я показываю ответ от curl, это содержимое страницы входа !!
Я просматривал стек почти по всем связанным вопросам в течение многих часов, но не мог найти, что идет не так.
ниже мой код
<?php
$curlPost['username']="username";
$curlPost['password']="pass";
$curlPost['token']="xxxxxxxxxx";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL , "http://example.com/login/");
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.A.B.C Safari/525.13");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookies.txt");
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookies.txt");
$response= curl_exec ($ch);
curl_close($ch);
И код для получения html-страницы
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL , "http://example.com/page/");
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.A.B.C Safari/525.13");
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookies.txt");
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookies.txt");
$reponse= curl_exec ($ch);
curl_close($ch);
echo $response;
?>
В верхней части страницы я получаю ответ:
HTTP / 1.1 302 Найдено
Дата: среда, 28 января 2015 г., 06:59:44 GMT
Сервер: Apache
X-Powered-By: PHP / 5.3.3
Cache-Control: no- кеш
Расположение: / войти
Кодировка передачи: фрагментирована
Тип содержимого: текст / html; charset = UTF-8
HTTP / 1.1 200 OK
Дата: среда, 28 января 2015 г., 06:59:45 GMT
Сервер: Apache
X-Powered-By: PHP / 5.3 .3
Cache-Control: без кеша
Кодировка передачи: по фрагментам
Content-Type: text / html; charset = UTF-8
за которым следует html-содержимое страницы входа.
Кто-нибудь может посоветовать мне, что я делаю не так.
Я запускаю это на своем локальном хосте с местом назначения, размещенным на сервере.
И я не заметил никаких изменений в файле cookies.txt.
Большое спасибо.