【问题标题】:How to get the remote ip address in Tower.js?如何在 Tower.js 中获取远程 IP 地址?
【发布时间】:2012-09-20 03:21:56
【问题描述】:

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

我试过了

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

如果信息不足,请补充。 谢谢。

【问题讨论】:

  • 请告诉我们你尝试了什么。
  • 感谢您的留言。添加信息。
  • 目前还没有正式的 api,最好的办法是检查 controller.request 对象上的请求标头。 github.com/viatropos/tower/issues/298

标签: node.js towerjs


【解决方案1】:

感谢您的回复!

我检查了请求对象。 但无法获取IP地址。

安装了 Tower 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 抛出错误; ^ TypeError:无法调用未定义的方法“应用” 在 Tower.Application.Application.reopen.use (/var/www/html/melissa/server2/node_modules/tower/bin/test/node_modules/tower/lib/tower-application/server/application.js:115:52) 在空。 (/var/www/html/melissa/server2/node_modules/tower/bin/test/app/config/server/bootstrap.coffee:9:12) 在 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) 在 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) 在 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) 在 _.extend.parallel (/var/www/html/melissa/server2/node_modules/tower/bin/test/node_modules/tower/lib/tower-support/shared/shared.js:344:20) 在 /var/www/html/melissa/server2/node_modules/tower/bin/test/node_modules/tower/lib/tower-store/server/mongodb/database.js:52:24 在 applyIndexes (/var/www/html/melissa/server2/node_modules/tower/bin/test/node_modules/tower/lib/tower-store/server/mongodb/database.js:26:20) 在/var/www/html/melissa/server2/node_modules/tower/bin/test/node_modules/tower/lib/tower-store/server/mongodb/database.js:50:20 在 Db.open (/var/www/html/melissa/server2/node_modules/tower/bin/test/node_modules/mongodb/lib/mongodb/db.js:258:14)

【讨论】:

  • 只是为了更新这个主题......这已在当前版本的 Tower 中实现。 github.com/viatropos/tower/issues/298 你可以在控制器中使用@get('ip')
  • 回复迟了;;谢谢!能够获得ip。
猜你喜欢
  • 2018-10-11
  • 1970-01-01
  • 1970-01-01
  • 2012-08-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-29
  • 2019-04-12
相关资源
最近更新 更多