这可能听起来很愚蠢,但我试图使用PHP(使用curl)和Ajax创建客户端。
我遇到了问题。
我有一个索引页面,其中按钮使用Curl向服务器发送请求。 我希望能够通过单击不同的按钮从该索引页面发送多个请求。
ajax部分正在工作,所以我可以从我的按钮调用我的php页面。 我的问题是,我找不到一种方法来重复使用"我的卷曲连接后续请求。我发送的每个信息都在每个请求之间被忘记。 我存储了这样的连接:
//Initialisation
$ch = curl_init();
//Je stocke la connexion dans un pointeur pour stockage dans variable session.
$_SESSION['connexion'] = $ch;
这是在第一个请求的ajax中完成的。 然后在第二个,当我调用它时,它变为空。 你知道我能做到吗?
答案 0 :(得分:1)
你不能重复使用"这样你的cURL连接。
但您丢失此信息的原因是您的cURL电话可能不会发送会话Cookie 。您需要在本地会话中保存此信息:
WEBPAGE(带按钮),会话W1,ID为SESS-001-SITE1,保存为cookie
按钮调用PHP脚本,session_start()可以访问W1会话
PHP脚本调用另一个PHP脚本P2(其中,它并不那么重要)
P2设置自己的cookie,ID为SESS-002-SITE2,映射名为W2的会话
P2还会发送一些有趣的输出
P1接收此输出并通过AJAX将其发送给WEBPAGE
WEBPAGE再次致电
P1接听电话,从会话中检索W2的Cookie,将其加载到cURL
P1通过cURL连接到P2并发送其他信息以及cookie
P2现在可以恢复会话W2并做出适当的回应