0

我在我的家庭控制器中使用代码:

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不起作用意味着会话没有设置!

我想设置会话并使用其他操作中的会话,例如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);

谢谢

4

1 回答 1

0

您应该设置 curl cookie 文件和 cookies jar 以将其与会话一起使用

curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
于 2018-06-04T17:34:41.923 回答