Я создаю простой PHP скрипт для входа на веб-страницу и получения некоторых данных на второй странице. На данный момент я использовал один php файл с двумя отдельными соединениями curl, используя тот же повар ie Первое соединение curl выполнило вход в систему, второе получило данные.
Теперь я хочу разделить эти две части на два отдельных файла php, чтобы вызывать каждый независимый через Ajax.
Вход в систему успешен, но получение данных не работает, кажется, из-за отсутствия cook ie.
Я не совсем уверен, возможно ли заставить его работать таким образом, и что лучше потренируйтесь, чтобы понять, что я пытаюсь, может быть, кто-то сможет украсить мои мысли.
// SET CONSTANTS
define('COOKIE_NAME', 'c.txt');
define('url_login', 'https://website.com/login.cgi');
$postString = 'user='.$user.'&passwd='.$passwd.'&otp='.$otp;
// CREATE CURL CONNECTION FOR LOGIN
$curl_connection = curl_init(url_login);
curl_setopt($curl_connection, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($curl_connection, CURLOPT_USERAGENT,
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");
curl_setopt($curl_connection, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl_connection, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl_connection, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl_connection, CURLOPT_HEADER, false);
curl_setopt($curl_connection, CURLOPT_COOKIEJAR, COOKIE_NAME);
curl_setopt($curl_connection, CURLOPT_COOKIEFILE, COOKIE_NAME);
curl_setopt($curl_connection, CURLOPT_POSTFIELDS, $postString);
$loginpage = curl_exec($curl_connection);
// CREATE CURL CONNECTION TO GET DATA
$data_url = 'https://website.com/getData.cgi';
$curl_connection = curl_init($data_url);
curl_setopt($curl_connection, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($curl_connection, CURLOPT_USERAGENT,
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");
curl_setopt($curl_connection, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl_connection, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl_connection, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl_connection, CURLOPT_HEADER, false);
curl_setopt($curl_connection, CURLOPT_COOKIEJAR, COOKIE_NAME);
curl_setopt($curl_connection, CURLOPT_COOKIEFILE, COOKIE_NAME);
$data = curl_exec($curl_connection);
Вот как это работает ...
Как только я разделю скручиваемые соединения на отдельные php файлов, вторая часть не работает, выдавая этот вывод:
HTTP / 1.1 200 OK Сервер: nginx Дата: Пт, 20 марта 2020 12:49:12 GMT Тип контента: text / html Content-Length: 85 Соединение: закрыть Cache-Control: нет кеша, нет хранилища, необходимо повторная проверка Pragma: no-cache Истекает: 0 Set-Cook ie: ws-sid-10-147 -g1e32 = Отменено; Путь = /; max-age = 0 Strict-Transport-Security: max-age = 63072000; IncludeSubdomains; предварительная загрузка X-Frame-Options: DENY X-Content-Type-Options: nosniff X-XSS-Protection: 1; режим = блок не готовить ie найдено