Mad_Electron
@Mad_Electron
Веб-разработчик

Как авторизоваться на videoigr.net с помощью PHP/cURL?

Дорогие друзья, прошу помощи.
Решил написать скрипт, разбирающий страницу личного кабинета интернет-магазина videoigr.net. И наткнулся на проблему авторизации, пытался реализовать с помощью cURL. Пробовал копипастить примеры отсюда xdan.ru/avtorizacija-na-sajte-pri-pomoshhi-curl-ph..., и, например, отсюда https://htmlweb.ru/php/example/curl_login.php (сам написанный код, к сожалению, на машине, к которой пока не имею доступа).
В процессе возникает вопрос за вопросом: как правильно сохранять cookie, необходимо ли осуществлять дотуп к странице в два этапа (авторизация, а затем парсинг уже личного кабинета) и т.д. и т.п.
Плюс на самой странице полный фарш.
Пробовал логиниться как с videoigr.net, так и с videoigr.net/login.php. Парсить впоследствии надо будет videoigr.net/account.php, но разбор - вопрос десятый, мне хотя бы иметь доступ к её содержимому под моими учётными данными.
Буду признателен за малейшую помощь
  • Вопрос задан
  • 202 просмотра
Решения вопроса 1
glebovgin
@glebovgin
Full Stack Web Developer
1. Получаете curl'ом страницу http://videoigr.net/login.php
2. Находите form, у которой name="login" и забираете оттуда значение action, например
http://videoigr.net/login.php?action=process&osCsid=e1caaae9002758dc6bcbdc7179c14d82
- osCsid скорее всего играет роль (а, может, и нет. надо экспериментировать)
3. На полученный из action адрес отправляете post-запрос с полями email_address и password
Всё.

Важные моменты:
• Используя CURLOPT_FOLLOWLOCATION равным 1, после авторизации вас сразу редиректнет скорее всего в личный кабинет. Если нет - сделаете новый запрос по нужному адресу.
• curl сохранит куки сам
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); // сохранять куки в файл
curl_setopt($ch, CURLOPT_COOKIEFILE,  'cookie.txt'); // считываем куки
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы