установить сеанс при отправке сообщений с внешнего сайта через curl на контроллер действий - PullRequest
0 голосов
/ 04 июня 2018

Я использую код в моем домашнем контроллере:

public function myAction1(Request $request)
{
   $request->session()->put('redirect', $_POST['redirect']);
}

public function myAction2(Request $request)
{
   $request->session()->get('redirect');
}

, и это часть моего route:

Route::get('pGetway/send', 'HomeController@myAction1')->middleware('cors');
Route::post('pGetway/send', 'HomeController@myAction1')->middleware('cors');

Route::get('pGetway/verify', 'HomeController@myAction2')->middleware('cors');
Route::post('pGetway/verify', 'HomeController@myAction2')->middleware('cors');

, когда я использую HTTP-запрос от браузера, вот session работает хорошо, но при отправке данных с другого сайта через curl это не работает, значит сеанс не установлен !!

Я хочу установить sesstion и использовать это из другого действия, например, в myAction2

и это сообщение запроса curl:

$params = ['redirect'=>'http://example.com'];

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://localhost:8000/pGetway/send");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));

$response = curl_exec($ch);
curl_close($ch);

Спасибо

1 Ответ

0 голосов
/ 04 июня 2018

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

curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
...