Как я могу использовать файлы cookie текущего сайта для входа на другой сайт, а затем перенаправить на другую страницу и сделать запрос CURL? - PullRequest
0 голосов
/ 12 октября 2018

Как я могу использовать файлы cookie текущего сайта для входа на другой сайт и затем перенаправить на другую страницу?

У меня есть несколько сайтов, которые используют один и тот же внешний Authenticator. Я пытаюсь сделать запрос CURL с одного сайтаполучить данные с другого сайта.Но у меня проблема с аутентификацией при отправке запроса CURL на другой сайт.

Чтобы войти на другой сайт, мне нужно нажать на URL для входа, но учетные данные вводить не нужно.

Так Мое действительное требование:

  1. Использовать Cookies с текущего сайта.

  2. Сделать запрос CURL для входа на другой сайтURL и войдите на этот сайт, используя файлы cookie с текущего сайта.

  3. Отправьте запрос CURL на другой URL, где вы можете получить необходимые данные.

Я могу получить данные с другого сайта, если захожу на этот сайт в браузере.

Мой текущий код выглядит следующим образом:

$agent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)";
$loginURL = $url . 'saml_login';
$cleanedURL = $url . 'anotherurl/list';

$curl = curl_init();

//Before making CURl request to $cleanedURL I need to make request to $loginURL(which has a redirect)

curl_setopt($curl, CURLOPT_URL, $cleanedURL);

curl_setopt($curl, CURLOPT_USERAGENT, $agent);

curl_setopt($curl, CURLOPT_FRESH_CONNECT, TRUE);

curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "GET");

curl_setopt($curl, CURLOPT_HTTPHEADER, array('Cookie: ' . $_SERVER['HTTP_COOKIE']));

curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);

curl_setopt($curl, CURLINFO_HEADER_OUT, TRUE);

curl_setopt($curl, CURLOPT_VERBOSE, TRUE);

curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 30);

$response = curl_exec($curl);

var_dump($response);

Все примеры, с которыми я сталкивался, использовались либоиспользованные учетные данные в файле заголовка или файла cookie, который уже экспортирован.

Может ли кто-нибудь помочь мне предложить это.

1 Ответ

0 голосов
/ 12 октября 2018

Обмен файлами возможен по доменам.Если ваше приложение на app.domain.com регистрирует файл cookie для подстановочного знака domain.com вместо app.domain.com, любой subdomain.domain.com будет иметь доступ к ключу cookie.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...