- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
добрый день.
есть потребность произвести авторизацию через curl (это я сделал)
а дальше нужно посетить другую страницу, на которой нет форы авторизации.
как это сделать чтоб после страницы авторизации посетить другую страницу и всё получилось?
смотря как авторизация на сайте сделана. думаю подойдет записывать кукисы в файл.
этого (да и всего остального с curl) можно добиться используя функцию curl_setopt
вот крайне полезное чтиво http://ru2.php.net/manual/ru/function.curl-setopt.php
сделал так
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, "username=$login&password=$passwd&login=submit");
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIESESSION, TRUE);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt ($ch, CURLOPT_COOKIEJAR, 'cookies.txt'); // вроде куда сохранять
curl_setopt ($ch, CURLOPT_COOKIEFILE, 'cookies.txt'); // вроде откуда брать
curl_setopt ($ch, CURLOPT_COOKIE, session_name() . '=' . session_id());
по идеи прошла авторизация, куки сохраняются, дальше хочу получить данные с другой страницы
curl_setopt($ch, CURLOPT_URL, "http://www.site.ru");
$result1 = curl_exec($ch);
но данные возвращаются как от страницы без авторизации:(
с чем это может быть связано?
не обязательно вы сможете с первого раза изобразить браузер, внимательно изучить страницу, не пропустить каждое поле и тд.
парсеры контента за это деньги и берут.
проверьте что файл создается и в него записывается правильная информация
Я бы сделал так, точнее говоря так и делаю :):
повторяем процедуру для каждой страницы - где бы они не изменились - всегда будем иметь свежий вариант