Пишу парсер для одного сайта. На сайте есть авторизация, это сильно усложняет, т.к. я в php новичок
<?php
include_once('simple_html_dom.php');
function curl_get($url, $referer = 'http://www.google.com', $fields = []) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0");
curl_setopt($ch, CURLOPT_REFERER, $referer);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
$dom = str_get_html($data);
$token = $dom->find('#big_login input[name="authenticity_token"]');
foreach($token as $tok) {
$fields["authenticity_token"] = $tok->value;
}
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($fields));
curl_close($ch);
return $data;
}
$url_auth = 'https://********/users/sign_in';
$auth_data = [
"user[email]" => "123123sad@mailnow2.com",
"user[password]" => "pass",
"user[remember_me]" => "on",
"authenticity_token" => "",
"utf8" => "✓"
];
$page = curl_get($url_auth, 'http://www.google.com', $auth_data);
echo $page;
?>
По идее после вывода должна выводиться страница, где я авторизован, но нет, выводиться просто страница с авторизацией.
На сайте есть такой токен
Который я паршу в итоге, я так понял его тоже нужно отправлять, при авторизации
Что я делаю не так и почему выбивает страницу авторизации?
Сборка персонального компьютера от Artline: умный выбор для современных пользователей