2012-09-20 50 views
1

我正在使用Tower.js创建Web服务。 我能够获得HTTP头和用户代理,但无法获得远程IP地址。 如何获取请求者的远程IP地址?如何在Tower.js中获取远程IP地址?

我试图

  1. 寻找Tower.Controller类的成员变量和方法(this.request和this.request.app和this.request.headers等...)
  2. 检查HTTP头
  3. 读塔文档(https://github.com/viatropos/tower-docs)
  4. 阅读的SuperAgent文件(https://github.com/visionmedia/superagent)

如果缺少信息,请添加。 谢谢。

+0

请告诉我们你有什么尝试。 – SingerOfTheFall

+0

感谢您的留言。 添加信息。 – YASAI

+1

这里没有正式的API,但你最好的办法是检查'controller.request'对象上的请求头。 https://开头github上。com/viatropos/tower/issues/298 –

回答

1

感谢您的回复!

我已检查请求对象。 但无法获得IP地址。

安装了塔0.4.2-3和Express 3.0.0rc5 但发生运行时错误。 Express3.0支持Tower.js吗?或者Express 2.x可以获得远程IP地址?

请问您能告诉我。

错误消息: /var/www/html/melissa/server2/node_modules/tower/bin/test/node_modules/mongodb/lib/mongodb/connection/server.js:432 掷ERR; ^ TypeError:无法在Tower.Application.Application.reopen.use(/ var/www/html/melissa/server2/node_modules/tower/bin/test/node_modules/tower/lib/bin)中调用未定义的 方法'apply' tower-application/server/application.js:115:52) at null。 (/var/www/html/melissa/server2/node_modules/tower/bin/test/app/config/server/bootstrap.coffee:9:12) at Tower.Application.Application.reopen.stack(/ var/www /html/melissa/server2/node_modules/tower/bin/test/node_modules/tower/lib/tower-application/server/application.js:177:16) at Tower.Application.Application.reopen.initialize.initializer(/ var/www/html/melissa/server2/node_modules/tower/bin/test/node_modules/tower/lib/tower-application/server/application.js:90:19) at Tower.Application.Application.reopen.configureStores( /var/www/html/melissa/server2/node_modules/tower/bin/test/node_modules/tower/lib/tower-application/server/application.js:164:27) at _.extend.parallel(/ var/www/html/melissa/server2/node_modules/tower/bin/test/node_modules/tower/lib/tower-support/shared/shared.js:344:20) at/var/www/html/melissa/server2/node_m (/ var/www/html/melissa/server2/node_modules /塔/ bin/store/server/mongodb/database.js:52:24 /modules/tower/bin/test/node_modules /在/ var/www/html/melissa/server2/node_modules/tower/bin/test/node_modules/tower/lib下测试/ node_modules/tower/lib/tower-store/server/mongodb/database.js:26:20) /tower-store/server/mongodb/database.js:50:20 at Db.open(/ var/www/html/melissa/server2/node_modules/tower/bin/test/node_modules/mongodb/lib/mongodb/db .js:258:14)

+0

只是为了更新这个主题...这已经在Tower的当前版本中实现。 http://github.com/viatropos/tower/issues/298你可以在控制器内使用'@get('ip')''。 – Daniel

+0

回复迟了;; 谢谢!能够获得IP。 – YASAI