Я пытаюсь использовать кнопку на своем веб-приложении php для запуска сеанса входа в систему на другом веб-сайте. Другими словами, я хочу, чтобы мое приложение к:Headless Login: войдите в систему и откройте удаленную сессию с помощью cURL
- открыть новую вкладку/окно (достигнутый)
- перейти на другой сайт + логин или
- (альтернативно) собирают данные сессии, необходимые для целевого сайта на рассмотреть текущий браузер авторизованы
Это достигается (в неполной форме с помощью следующего кода:.
$ch = curl_init();
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$postdata);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch, CURLOPT_REFERER, $url);
$result = curl_exec ($ch);
curl_close ($ch);
print $result;
Это успешно визуализирует страницу «вошедшей в систему» на удаленном сайте, но всякий раз, когда я нажимаю на любую из функций такого удаленного сайта, я получаю и явный 404. Это потому, что я просто печатаю вывод успешного входа через cURL и мой браузер не имеет дело с удаленным приложением на целевом веб-сайте. Например. моя адресная строка говорит, что я нахожусь в local.dev/loggedin.php, а не на secure.targetsite.com/loggein.php.
Возможно, это полезно: после входа в систему через браузер целевой веб-сайт устанавливает cookie сеанса, который позволяет сеансу выжить в течение определенного количества времени, что также может быть полезно. Могу ли мое веб-приложение просто извлекать и хранить данные сеанса из процедуры auth, выполняемой curl, и использовать ее для входа?
Это не могло бы быть возможно сделать через CURL ..
Я думал только разбор заголовка ответа для печенья и использовать PHP SetCookie(), но он не работает: я получаю отскочил от пульта дистанционного управления app, как будто я так и не был зарегистрирован.
Пожалуйста, будьте терпеливы, я не эксперт в использовании завитка.
Вы правы, это невозможно с помощью cURL. И вы не можете установить cookie для других доменов. – CBroe
, в каком случае вы могли бы подойти к этой проблеме, если бы хотели создать безликий вход на другой сайт? – artoo