我对带有从curl传输的元素的函数初始化的session 1有curl的了解,但是在这个函数中,无法使用从curl获得的键和值重新初始化新的session 1。但是,当我在尚未结束curl的curl调用的链接链接上执行F5时,仍在初始化会话,请让我
public function createSession(){
$params = $request->all();
$key = uniqid();
$request->session()->put($key, $params);
return response()->json([
'success' => true,
'key' => $key,
]);
}
卷曲:
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, count($params));
curl_setopt($ch, CURLOPT_POSTFIELDS,$params);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60); // Time out 60s
curl_setopt($ch, CURLOPT_TIMEOUT, 60); // connect time out 60s
$result = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if (curl_error($ch)) {
return false;
}
if ($status != 200) {
curl_close($ch);
return false;
}
// close curl
curl_close($ch);
return json_decode($result);
答案 0 :(得分:0)
服务器需要会话ID才能识别上一个呼叫中的数据。使用浏览器时,该会话ID存储在Cookie中,该Cookie会自动发送到服务器。使用cURL时,您需要手动设置cookie。
请参阅以下答案,以更好地了解会话和Cookies的工作方式:How do Cookies and Sessions work?
有关在curl中为PHP使用cookie的示例,请参见以下答案:How can I send cookies using PHP curl in addition to CURLOPT_COOKIEFILE?