作为客户端,PHP能否与服务器保持持久会话?

时间:2012-03-01 21:39:32

标签: php session client fopen

假设我在我的家用电脑上打开浏览器,我访问了一个使用会话的网站,只要我不关闭浏览器或保持空闲状态24分钟,会话将保持在后续HTTP中请求到网站。

但是在运行PHP的服务器上,如果我使用fopen()或file_get_contents()从同一个站点请求一个页面,该站点是否为我的服务器“用户”创建会话?有没有办法保持连接打开,以便为后续的fopen()请求维护会话?

我可以通过在后续请求中的请求标头中传递会话ID来完成此操作吗?即我设置包括会话ID的标头,将标头传递给context_stream_create(),然后通过下一个fopen()请求传递上下文?这可以用于POST请求(这是我真正需要做的)吗?

1 个答案:

答案 0 :(得分:0)

任何可以说HTTP语言的应用都可以保存cookie,从而将状态保存在HTTP中。

您的问题的答案是肯定的。只需使用正确的协议(GET / POST)并发送正确的标题(主机,用户代理,......),您就可以执行任何操作。 但是你有一个替代解决方案,我认为这个课程会有所帮助:PHP Browser Class