У меня мало опыта с cUrl. Я создаю бота, который автоматически авторизуется на сайте. Я использовал cUrl, чтобы сделать это. когда я запускаю свой скрипт, он успешно регистрирует меня (я получаю ответ «ОК»), но когда я перенаправляю на какую-то другую страницу, я выхожу из системы.
Вот мой код:
<?php
$username="username";
$userpass="password";
$url="https://www.invertironline.com/User/DoLogin";
$cookie="cookie.txt";
$postdata = "username=".$username."&password=".$userpass."";
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 10.0; Win64;
x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36");
curl_setopt ($ch, CURLOPT_TIMEOUT, 60);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_COOKIEJAR, realpath($cookie));
curl_setopt ($ch, CURLOPT_COOKIEFILE, realpath($cookie));
curl_setopt ($ch, CURLOPT_REFERER, $url);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt ($ch, CURLOPT_POST, 1);
$headers = array();
$headers[] = 'application/xhtml+voice+xml;version=1.2, application/x-
xhtml+voice+xml;version=1.2, text/html, application/xml;q=0.9,
application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap,
*/*;q=0.1';
$headers[] = 'Connection: Keep-Alive';
$headers[] = 'Content-type: application/x-www-form-urlencoded;charset=UTF-
8';
$headers[] = 'X-Requested-With: XMLHttpRequest';
$headers[] = 'Referer: https://www.invertironline.com/mercado/cotizaciones';
$headers[] = 'Origin: https://www.invertironline.com';
$headers[] = 'Host: www.invertironline.com';
curl_setopt ($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt ($ch, CURLOPT_HEADER, 1);
$result = curl_exec ($ch);
curl_close($ch);
echo $result;
header("Location: https://www.invertironline.com/mercado/cotizaciones");
вот дополнительная информация:
если я создаю HTML-форму с именем пользователя и паролем с действием и отправляю ее, она входит в систему и возвращает следующий ответ:
{"result":"OK","redirect":"/MiCuenta/EstadoCuenta"}
и в случае неправильных учетных данных я получаю этот ответ:
{"result":"Error"}
поэтому, когда я использую curl, я получаю тот же ответ, но когда я пытаюсь перенаправить, я не вошел в систему (вероятно, сессия не сохранена)
Я потратил 3 дня, пытаясь найти решение для этого, но все еще не могу его решить. Любая помощь будет высоко оценена