在Node.js中获取请求头获取PHP会话ID

我有一个完全用PHP开发的应用程序,现在我想在我的应用程序中集成RTN(实时通知系统)。 目前我已经完成连接到Node.js PHP页面呈现与此代码

服务器:

var app = http.createServer(function(request,response) { response.writeHead(200,{"Content-Type":"text/plain"}); response.end(); }).listen(3000); var io = require('socket.io').listen(3000); 

客户

 <script src="http://localhost:3000/socket.io/socket.io.js"></script> <script> var socket = io.connect('http://localhost:3000'); socket.on('news', function (data) { console.log(data); socket.emit('my other event', { my: 'data' }); }); </script> 

但现在越来越疑惑,我怎么能得到客户端请求的请求头? 其实我想要得到客户端Cookie使用PHP开发和节点RTN系统。 现在,因为我不知道如何得到请求标头无法获取cookie以及:(

更新我正在使用Memcache存储会话,这是我想获取cookie的主要原因,这样我就可以获取PHP的会话信息

如果你想在Node.js中获得PHP会话ID,那么就简单地使用它

 io.sockets.on("connection",function(client) { console.log(client.handshake.headers.cookie); }); 

它会返回PHP会话ID。 如果不使用上面提到的PHP生成的页面,并单独调用Node,这可能会有所不同。 上面的命令的输出将是这样的

 PHPSESSID=aj233jkjdfbk13adlljkwlkjjkj002 

这是因为PHP已经设置了它的cookie,并且你得到了header.cookie,它返回了ID,这就是PHP的Session ID。

服务器生成的会话cookie具有“HTTPOnly”标志,您不能在客户端或任何其他服务器上读取它,只能在原始服务器上读取它。 客户端浏览器仅将会话cookie发送到原始服务器,

因此,如果在PHP上有mydomain.com,并且您的Nodejs在mynode.com上,mynode.com将不会接收由mydomain.com生成的会话cookie

你需要分享会议之间的PHP和NodeJs看看这个: http ://simplapi.wordpress.com/2012/04/13/php-and-node-js-session-share-redi/