java 板


LINE

各位前輩好 小弟架了一個網站:http://localhost:8080/ 我想要抓取host name,也就是 localhost 網路上找到的指令是 InetAddress.getLocalHost().getHostName(); 可是得到的是伺服器的名字,而不是我要的 localhost 目前我只知道可以從HttpServletRequest 中的 getLocalName() 來得到我想要的值 但是我想要在request 進來前,也就是 WebProject 啟動時便得到值 請問我還有什麼方法可以得到 localhost 這個值呢? 在此先感謝各位不吝指點 --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.128.209.67
1F:→ stukk:可以使用listener or filter. ex:ServletContextListener 07/25 18:27
2F:推 PsMonkey:通常我會直接寫在 config / web.xml 就算了 XD 07/25 18:36
3F:→ powerup:所以我只能在listener那邊取得了嗎? 07/25 19:04
4F:→ powerup:可以在一般的class抓到嗎? 07/25 19:06
5F:→ powerup:還有我只會從ServletContext抓到contextPath,怎抓host啊 07/25 19:11
6F:→ powerup:回二樓,因為我的網站會架在不同網域,所以不想寫死在code 07/25 19:13
7F:推 PsMonkey:就只是改設定檔,不用重新 compile 07/25 21:25
8F:推 GALINE:try http://goo.gl/jusKh 07/26 10:40
9F:→ powerup:感謝樓上,我抓到了想要的DNS name,沒想到要繞這麼大圈 07/26 14:34
10F:→ powerup:所以只能從網卡設定那邊抓取,不能從webProject那邊抓嗎? 07/26 14:38
11F:推 PsMonkey:感覺用這招,你還是不能在同一台機器跑兩個相同 webapp 07/26 16:02
12F:→ PsMonkey:純粹腦補,不確定對錯 Orz 07/26 16:02
13F:推 LaPass:這很有問題吧...... web本身並不會知道到底誰「將會」連進 07/26 16:09
14F:→ LaPass:來,所以只能從網卡那邊抓自己的對外ip,在反查網址。 07/26 16:11
15F:→ powerup:可是我這網站是架在哪個網域,跟誰會連進來應該沒關係啊 07/26 17:14
16F:→ powerup:所以我才想說能不能從servlet那邊抓到值 07/26 17:16
17F:→ powerup:畢竟用G大的方法,如果在本機端跑,抓到的不是localhost 07/26 17:19
18F:→ powerup:而是我網卡的DNS值,雖然遠端跑沒問題,但是我本機debug 07/26 17:23
19F:→ powerup:會很麻煩... 07/26 17:25
20F:推 GALINE:要看你需要這個的目的是什麼來決定?畢竟 IP 才是真的 07/26 17:38
21F:→ GALINE:Hostname 是容易惡搞的,不管是改本機 host 檔還是改 http 07/26 17:40
22F:→ GALINE:header 07/26 17:41
23F:推 Chikei:所以你是想抓哪一個host name...DNS下的host name還是http 07/26 18:53
24F:→ Chikei:server服務的host name,前者上面有後者好歹也給軟體名稱吧 07/26 18:55
25F:推 LaPass:我的意思是說..... WEB不知道使用者會用哪個網域連到妳的 07/26 18:57
26F:→ LaPass:電腦,力如127.0.0.1 localhost XXX.com 156.66.44.7 等等 07/26 18:59
抱歉,我事情說得不夠清楚 我想要抓一個這 Web server 所在網域的資訊作辨認,才能知道我這網站是架在哪 因為我這網站之後會同時架在不同網域上 如 http://localhost/ 就抓localhost http://www.domain.com/ 就抓 www.domain.com 因為 ip 可能會因搬遷伺服器而不一樣,但是 DNS 不太會變(註冊完就放著) 所以我想以DNS值為主,應該是Chikei前輩說的server服務的host name 以GALINE前輩的方法在DNS的資訊寫在網卡內的機器是沒問題的 因為此時DNS下的host name就等於server服務的host name 雖然在本機跑時,他抓的不是localhost,debug程式時會有些麻煩就是了... 可是我之後架站的伺服器都是向外租的,他們都是虛擬伺服器,這招就沒用了 剛剛試了才發現不行 根據LaPass前輩所說,因為我的web project 和DNS是分開的,所以理論上來說project 本身是無法得知自己所在的網域,只能從request來得知他們是以哪個網域進來的 從而反推自身網域,因此我要嘛就是抓網卡的DNS(但虛擬機器的網卡沒資訊), 不然就是只能用HttpServletRequest 中的getServerName() 或是 getLocalName()了 不知我的理解是否有所錯誤?非常謝謝各位前輩的指點 ※ 編輯: powerup 來自: 220.128.209.67 (07/27 13:15)
27F:推 LaPass:你舉的 還真的有那個網站 = = 07/27 13:37
28F:→ powerup:我只是亂說的..... 07/27 13:38
29F:推 givemepass:還真的有這個網站XDDD 07/27 20:41
30F:推 if4:18+的...這裡的都是成年人吧? 07/27 21:19
保險起見,還是改掉好了,抱歉修了一下LaPass前輩的推文 ※ 編輯: powerup 來自: 220.128.209.67 (07/28 13:53)







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Soft_Job站內搜尋

TOP