node.js - socket.io解析请求的url

时间:2013-03-26 13:12:19

标签: node.js url request

我想解析一个请求的网址。当我使用websocket.io时,我有一个可以解析的请求对象。我怎么能用socket.io做到这一点?

示例:

http://localhost:4000/foo

我怎么能脱离“foo”? 我试过了:

 io.sockets.on('connection', function (socket) {


    console.log(socket.handshake.address.address);
            console.log(socket.handshake.url);
}

但它不会打印“foo”

3 个答案:

答案 0 :(得分:3)

BTW - 如果要为socketio连接而不是路径元素提供参数,那么 的方法是正确的。当使用https://github.com/pkyeck/socket.IO-objc和nodejs socketio将params添加到我的套接字连接时,它解决了我的问题。

例如:

[socketIO connectToHost:@"localhost" onPort:8888 withParams:[NSDictionary dictionaryWithObject:@"52523f26f5b23538f000001c" forKey:@"player"]];

按如下方式构造URL:

http://localhost:8888/socket.io/1/?t=16807&player=52523f26f5b23538f000001c

可以在socket.handshake.query

中的服务器上访问params
socketio.listen(server).on('connection', function(socket) {
console.log('socket info = ', socket.handshake.query.player);

答案 1 :(得分:1)

我正在访问这样的网址:

io.on('connection', function(conn){
    console.log(conn.handshake.headers.referer);
});

答案 2 :(得分:0)

使用URL api。 http://nodejs.org/docs/latest/api/url.html

u = url.parse(url)
console.log(u.path)