HttpContext.Current.Request.UserHostAddress;
或
HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
要獲取本機的IP地址,而不是代理使用下面的代碼
HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
但是作爲對你使用這個應用程序脫機,您將永遠得到你的電腦的IP地址,因爲這就是服務器會用另一個字看到的IP,你不會到你的路由器外面,然後連接回服務器,這樣你的外部IP就不會被使用了:
如果您測試您的在線運行的服務器應用程序並嘗試打印出:
Response.Write("IP Address:");
Response.Write("IP: " + HttpContext.Current.Request.UserHostAddress);
Response.Write("IP1: " + HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]);
Response.Write("IP2: " + HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]);
你會看到你的公網IP,如果照顧你使用反向代理到達您的PC一樣的CloudFlare之前,請務必使用HTTP_X_FORWARDED_FOR
否則,您可以使用remote_addr或userhostaddress。
請用您想要的解決方案的語言進行標記。 –