Тема: Виконувати дії на сторонньому ресурсі скриптом
Мені потрібно створити такий скрипт що авторизується на іншому сайті і після авторизації весь текст (включно з HTML, JS і т.д.) копіює в мою БД, ці дії мають виглядати неначе це користувач
Я знайшов щось схоже http://skachatvkontakte.ru/kak-avtorizo … -1573.html
<?
$user_agent = 'Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9.2.13) ' .
'Gecko/20101203 Firefox/3.6.13 ( .NET CLR 3.5.30729)';
$cookie = '';
$login = 'ваше@мыло';
$password = 'пароль';
$ch = curl_init();
// true т.к. мы будем отправлять post запрос:
curl_setopt($ch, CURLOPT_POST, true);
// чтобы сайт думал, что мы - браузер:
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
// ответ сервера будем записывать в переменную
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
// по редиректам будем переходить автоматически.
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_URL, 'http://login.сайт-злодій/?act=login');
//Формирование запроса таким образом, я счел более наглядным
$post = array(
'act' => 'login',
'q' => '',
'al_frame' => '1',
'expire' => '',
'captcha_sid' => '',
'captcha_key' => '',
'from_host' => 'vkontakte.ru',
'email' => $login,
'pass' => $password
);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
$answer = curl_exec($ch);
/* В $answer нам приходит javascript, который и устанавливает куки
с названием: remixsid Нам нужно cпарсить эти 60 символов,
идентификатора сессии. с помощью них vkontakte поймет,
что мы авторизировались.*/
$sid = substr($answer, strpos($answer, "setCookieEx('sid', '") + 20, 60);
$cookie = 'remixsid=' . $sid;
curl_setopt($ch, CURLOPT_POST, false);
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
// укажем страницу, с которой мы получим данные для проверки
curl_setopt($ch, CURLOPT_URL, 'http://vkontakte.ru/');
$answer = curl_exec($ch);
echo $answer;
curl_close($ch);
?>
В мене є такі запитання
Якщо я авторизувався в ручну і в мене є куки я можу перенести їх в зміну $cookie, чи це не допоможе ?
Як скопіювати інформацію з іншого сайту (скриптом PHP) в мою БД, скрипт буде запускатися при допомозі Cron Jobs (автоматично)