PHP可以作为客户端与服务器保持持久会话吗


Can PHP maintain a persistent session with a server, as a client?

假设我在打开浏览器的家用电脑上,我访问了一个使用会话的网站,只要我不关闭浏览器或保持空闲24分钟,会话就会在我向该网站发出后续HTTP请求时得到维护。

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

我可以通过在后续请求的请求头中传递会话id来实现这一点吗?即我设置了包括会话id在内的标头,将标头传递给context_tream_create(),然后将上下文与下一个fopen()请求一起传递?这能为POST请求完成吗(这是我真正需要做的)?

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

你的问题的答案是肯定的。只要使用正确的协议(GET/POST)并发送正确的标头(Host、User Agent…),您就可以做任何您想做的事情但是你有一个替代的解决方案,我认为这个类会有所帮助:PHP浏览器类