2012-09-20 93 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