Получить html-контент из защищенного маршрута в приложении laravel? - PullRequest
0 голосов
/ 25 августа 2018

Я хочу получить (скручивать) жрать содержимое html другой страницы в моем приложении laravel.

Классическим способом было бы:

$client = new Client();
$client = $client->request('GET', route('print.page'))->getBody();

Проблема в том, что все этомаршруты защищены аутентификацией, и я получаю только html со своей страницы входа в систему.

Я попытался снова отправить вход через лоток, но я думаю, что это не очень хорошая идея с двойным входом.

Есть лиЕсть ли лучший способ получить HTML из этого защищенного маршрута?

1 Ответ

0 голосов
/ 25 августа 2018

Если вы вызываете это внутри контроллера и , у вас есть текущий аутентифицированный пользователь, вы должны получить имя сеанса и реальный идентификатор сеанса:

public function FooController() 
{
    $name = Session::getName();
    $sessionId = $_COOKIE[$name];

    $cookieJar = CookieJar::fromArray([
        $name => $sessionId,
    ], 'example.com');

    $client = new Client();
    $body = $client->request( // changed the variable from $client to $body here
        'GET', 
        route('print.page'), 
        ['cookies' => $cookieJar]
    )->getBody(); 
}
...