Я пытаюсь прочитать html-страницу, используя простой html dom, для которого требуется авторизация входа.
например: http://example.com/login/ – страница входа в систему, а http://example.com/page/ – это где я должен разбирать html.
Поэтому я использовал завиток, чтобы выполнить логин и простой html dom для разбора.
Но я не знаю, зарегистрирована ли моя страница или нет, потому что когда я показываю ответ от 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.ABC 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.ABC 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-cache
Откуда:
Передача-кодирование: chunked
Content-Type: text / html; кодировка = UTF-8HTTP / 1.1 200 OK
Дата: ср, 28 янв 2015 06:59:45 GMT
Сервер: Apache
X-Powered-By: PHP / 5.3.3
Cache-Control: no-cache
Передача-кодирование: chunked
Content-Type: text / html; кодировка = UTF-8
а затем содержимое html страницы входа в систему.
Любой может посоветовать мне, что я делаю неправильно.
Я запускаю это в своем локальном хосте с местом назначения, размещенным на сервере.
И я не видел никаких изменений, происходящих с файлом "cookies.txt".
Большое спасибо.