0

使用 Snoopy 我发出请求,但似乎为 POST 使用了不同的 SESSION?当我回显请求的结果时,SESSION 已设置,但在单击任何链接后,页面将返回到非 SESSION-set 状态。

目前我正在使用此代码发出请求

$dashboard = new Snoopy;

$dashboard->referer = "URL";
$dashboard->httpmethod = "POST";
$dashboard->submit("URL", $_POST);

echo $dashboard->results;

我无法使用 cURL,因为我无法控制服务器。

我有一种感觉是因为 Snoopy 为 HTTP POST 制作了一个新的 SESSION_ID?我已经看到了一些关于如何在这些请求之间维护 SESSION 的具体信息?

4

2 回答 2

0

您需要session_start在提交 url 文件时调用该函数。

所以,会话可以保持你想要的。

于 2010-03-10T11:33:33.913 回答
0

如果您没有将 SESSIONID 传递给您使用 Snoopy 调用的页面(对于执行该 HTTP 请求的任何其他方式都是如此),那么,在生成该页面时,PHP 将:

  • 尝试开始会话
  • 由于没有收到会话 ID,因此将启动一个新会话
  • 这将与您的第一个脚本中使用的不同。


如果您希望两个脚本共享同一个会话,您至少必须将会话 ID 传递给第二个脚本——这通常是使用 cookie 完成的(请参阅您的站点的 cookie,在您的浏览器中)

基本上:通过 Snoopy 调用的脚本必须接收会话 id,就像浏览器调用的脚本接收它一样。

于 2010-03-10T11:36:03.923 回答