我需要能夠找到該頁面當前正在執行的服務器的IP地址。我有一些調用第三方站點的代碼,並且必須傳遞特定的密鑰,這些密鑰會根據所在的服務器而發生變化。在ColdFusion中是否存在CGI變量或某種方式來確定主機服務器的IP地址?如何獲取您的應用程序服務器的IP地址
5
A
回答
2
我會用hostip.info API
你的IP在XML:http://api.hostip.info/get_xml.php
你在HTML IP:http://api.hostip.info/get_html.php
1
最安全的方法是使用像WhatIsMyIP這樣的服務。如果服務器位於NAT後面,則操作系統不知道外部IP地址。
對此,SO有很多問題,例如參見here。
4
有兩個原因導致程序無法查詢它運行的主機,看看它的IP是:
它可能有多個IP地址,而短的通過各種內核數據的期待你不可能知道哪個結構將用於給定的傳出連接。
它可能通過NAT防火牆或某種代理連接到外部世界,以便外部世界將看到不同於您的盒子上配置的IP。
實際上,可能會比這兩個更多,但那些是我想到的。
因此,最簡單的方法是連接到公司網絡外某個地方的另一個盒子,看看它認爲你有什麼IP。我使用在我的colo box上運行的兩行CGI腳本來檢測我的家庭服務器當前有哪些IP(所以我可以檢測到有線公司改變它的時間)。
5
像其他評論者所概述,如果你需要的外部IP作爲第三方站點看到它,那麼你可能應該使用他們推薦的外部方法。
但是,如果第三方是給你以某種形式的基於實際IP作爲服務器認爲自己,而不是IP,因爲他們看到它訪問您可以使用
<cfset cName = CreateObject("java", "java.net.InetAddress").getLocalHost().getHostAddress()>
<cfdump var="#cName#">
2
您可以使用CGI .LOCAL_ADDR來確定你的服務器的IP地址(CFML相當於PHP的$ _SERVER [「SERVER_ADDR」])。它使用ColdFusion或Railo,它可以在IIS和Apache上運行,因爲您不在代理服務器後面,沒有註冊服務器IP,只有一個IP分配給您的服務器(不知道哪個IP會顯示,如果有多個IP)。
0
<cfhttp url="http://www.whatismyip.com/" result="myresult" resolveurl="yes">
<cfoutput>#myresult.filecontent#</cfoutput>
相關問題
- 1. 如何獲取服務器IP地址?
- 2. 如何獲取響應WebResponse的服務器的IP地址C#
- 3. 如何使用bash獲取服務器的IP地址
- 4. 如何從CLI獲取使用PHP的服務器IP地址?
- 5. 獲取服務器IP地址
- 6. 獲取IP地址當前服務器
- 7. 獲取服務器IP地址
- 8. 如何從IP地址獲取服務器的機器名稱?
- 9. 如何獲取使用php請求的服務器地址的IP地址?
- 10. 如何獲取請求來自的服務器的IP地址?
- 11. 如何獲取HttpWebRequest連接的服務器的IP地址?
- 12. 獲取服務器的地址和應用程序名稱
- 13. 從服務器端獲取已知MAC地址的IP地址
- 14. 如何在.NET中獲取服務器的IP地址?
- 15. 如何在rails上獲取主機服務器的IP地址
- 16. 如何獲取服務器的IP地址?
- 17. 如何獲取asp.net中的服務器/網站IP地址?
- 18. 服務器的IP地址
- 19. 服務器的IP地址
- 20. node.js http(s):獲取遠程服務器的IP地址
- 21. 如何獲取使用PHP的服務器的本地IP地址?
- 22. 如何在iOS應用程序中獲取蜂窩IP地址
- 23. 在服務器端獲取本地IP地址的非服務器端方法?
- 24. 如何獲取身份服務器中客戶端的遠程IP地址4
- 25. 在無連接服務器上獲取遠程IP地址
- 26. 如何獲取數據從服務器的服務器地址
- 27. PHP應用程序,Web服務和單獨的IP地址
- 28. 通過IP地址服務的Zend框架應用程序
- 29. tcp服務器ip地址
- 30. DNS服務器IP地址