Fil*_*lip 3 php session curl http
背景:
我正在尝试编写一个定期连接到Web服务器的脚本,并检查特定页面上的某些信息是否已更改.我已经使用bash(用于脚本),curl(用于实际连接)和crontab(用于调度)的组合工作.
由于服务器需要身份验证,我首先使用curl在登录页面上使用我的凭据执行POST请求并保存cookie文件(包含PHPSESSID).现在我可以在执行我想要检查的实际网页的请求时使用cookie文件.
问题(S):
服务器什么时候实际清除我第一次请求设置的PHPSESSID?我想它必须在某个时候这样做,否则会崩溃,因为它会一直存储有关每个会话的信息.
如果在关闭浏览器时清除了PHPSESSID,那么我可以通过某种方式模拟即使使用curl吗?
它比"当它被清除时"复杂一点
会话在PHP中有一生.默认值为24分钟.这意味着在您连接到网站后,您的会话有效,直到
您关闭浏览器(除非您丢弃cookie,否则不会使用cURL进行模拟)
要么
24分钟过去了
每次加载页面并且服务器调用时session_start(),过期时间将再次增加24分钟(从技术上讲,它实际上session_start()是在调用页面的脚本执行结束时24分钟).
当该cookie实际到期时,您的会话不再有效,并且$_SESSION在服务器端将为空.但是,您的数据仍然在服务器上,直到下次服务器执行会话垃圾收集周期以清除过期的会话,这些会话取决于服务器上使用的会话处理程序,可能会或可能不会实际删除您的数据.例如,银行可能会将数据发送到存档服务器,以备他们需要记录时使用.