【问题标题】:How can i maintain a session using php PHPSESSID我如何使用 php PHPSESSID 维护会话
【发布时间】:2010-11-29 00:13:14
【问题描述】:

我正在使用 Scriptable Web 浏览器(简单浏览器)http://www.lastcraft.com/browser_documentation.php 它似乎没有办法:

  1. session_start();
  2. 设置 PHPSESSID 值
  3. 使用 simplebrowser 浏览几页
  4. session_destroy();

因此可以使用 php 函数来设置和维护使用 PHPSESSID 的会话

【问题讨论】:

  • 你的意思是使用带cookies的simplebrowser吗?
  • 是的,使用带 cookie 的 simplebrowser,无法弄清楚如何设置会话 ID,并且没有示例。我在 simplebrowser 中寻找 session_start()。也许我错过了显而易见的事情。
  • 如果 simplebrowser 使用某种用户代理,它应该能够处理 cookie。 session_start()等完全是服务器端的,在simplebrowser脚本中使用时没有任何作用。

标签: php sessionid


【解决方案1】:

会话由您使用 simplebrowser 请求的脚本启动。假设您使用 simplebrowser 调用 example.com/script.php。然后 script.php 包含 session_start() 并因此发送一个cookie以及响应。您不必为 simplebrowser 启动和维护会话,更不用说自己设置 SID。

【讨论】:

  • 嗨 rik,让我再解释一下,所以我说得通。 php 脚本由 shell 脚本驱动,该脚本设置会话 ID,但首先使用 firebug 从常规浏览器会话中手动获取它,然后将其插入命令行。我想要实现的是使用 simplebrowser 在 php 脚本中获取 sessionID,因此我不必每次运行 shell 脚本时手动获取 PHPSESSID 的值来执行 php 脚本。这是shell脚本:#!/bin/bash i="0" echo "" echo "##################" echo "LAUNCHING REQUESTS" echo " COUNT: $2“回声”DE
  • #!/bin/bash i="0" echo "" echo "##################" echo "启动请求" echo " COUNT: $2 " echo " DELAY: $3 " echo " SESSID: $1" echo "#################" echo "" while [ $2 -gt "$ i" ] do i=$[$i+1] php avtest.php $1 $4 & echo "EXECUTING REQUEST $i" sleep $3 done
  • 使用 API ,simpletest.org/api> string getCookieValue (string $host, string $path, string $name) ,问题是我应该使用什么作为 $name ,是 PHPSESSID 吗?跨度>
  • 因此您使用 Firefox 启动会话,使用 firebug 获取会话 ID 并将其作为命令行参数传递给您的 simplebrowser 脚本。然后,您还应该获取并传递会话 cookie 的名称。您可以在 firebug 的 cookie 选项卡的第一列中找到它。
  • 哦,你必须使用 setCookie (simpletest.org/api/SimpleTest/WebTester/…),而不是 getCookieValue 来设置 simplebrowser 的实例。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-10-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-02
  • 2015-03-28
  • 1970-01-01
相关资源
最近更新 更多