Эх сурвалжийг харах

调整获取外网IP地址

zuohuaijun 3 жил өмнө
parent
commit
fd4be96bdf

+ 2 - 2
Admin.NET/Admin.NET.Core/Admin.NET.Core.xml

@@ -7487,9 +7487,9 @@
             </summary>
             <returns></returns>
         </member>
-        <member name="M:Admin.NET.Core.ComputerUtil.GetIpFromPCOnline">
+        <member name="M:Admin.NET.Core.ComputerUtil.GetIpFromOnline">
             <summary>
-            IP地址信息
+            获取外网IP地址
             </summary>
             <returns></returns>
         </member>

+ 1 - 1
Admin.NET/Admin.NET.Core/Service/Server/SysServerService.cs

@@ -34,7 +34,7 @@ public class SysServerService : IDynamicApiController, ITransient
             OsArchitecture = Environment.OSVersion.Platform.ToString() + " " + RuntimeInformation.OSArchitecture.ToString(), // 系统架构
             ProcessorCount = Environment.ProcessorCount + " 核", // CPU核心数
             SysRunTime = ComputerUtil.GetRunTime(), // 系统运行时间
-            RemoteIp = ComputerUtil.GetIpFromPCOnline(), // 外网地址
+            RemoteIp = ComputerUtil.GetIpFromOnline(), // 外网地址
             LocalIp = App.HttpContext?.Connection?.LocalIpAddress.ToString(), // 本地地址
             FrameworkDescription = RuntimeInformation.FrameworkDescription, // NET框架
             Environment = App.HostEnvironment.IsDevelopment() ? "Development" : "Production",

+ 4 - 8
Admin.NET/Admin.NET.Core/Util/ComputerUtil.cs

@@ -68,20 +68,16 @@ public static class ComputerUtil
     }
 
     /// <summary>
-    /// IP地址信息
+    /// 获取外网IP地址
     /// </summary>
     /// <returns></returns>
-    public static string GetIpFromPCOnline()
+    public static string GetIpFromOnline()
     {
-        Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
-
-        var url = "http://whois.pconline.com.cn/ipJson.jsp";
+        var url = "http://myip.ipip.net";
         var stream = url.GetAsStreamAsync().GetAwaiter().GetResult();
         var streamReader = new StreamReader(stream.Stream, stream.Encoding);
         var html = streamReader.ReadToEnd();
-        var tmp = html[(html.IndexOf("({") + 2)..].Split(",");
-        var ipAddr = tmp[0].Split(":")[1] + "【" + tmp[7].Split(":")[1] + "】";
-        return ipAddr.Replace("\"", "");
+        return html.Replace("当前 IP:", "").Replace("来自于:", "");
     }
 
     public static bool IsUnix()