ql_apimanager_backend/Apimanager_backend/Tools/UserInfoHelper.cs

30 lines
877 B
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

namespace Apimanager_backend.Tools
{
public static class UserInfoHelper
{
public static string GetClientIp(HttpContext context)
{
var ip = context.Connection.RemoteIpAddress?.ToString();
// 支持代理(如 Nginx时使用 X-Forwarded-For
if (context.Request.Headers.ContainsKey("X-Forwarded-For"))
{
ip = context.Request.Headers["X-Forwarded-For"].FirstOrDefault();
}
return ip ?? "unknown";
}
public static string GetDeviceType(HttpContext context)
{
var userAgent = context.Request.Headers["User-Agent"].ToString().ToLower();
if (userAgent.Contains("mobile") || userAgent.Contains("android") || userAgent.Contains("iphone"))
return "mobile";
return "pc";
}
}
}