gpt4 book ai didi

c# - 在 ASP.NET Web API 中获取 Web Api 消费者 IP 地址和主机名

转载 作者:行者123 更新时间:2023-11-30 19:43:15 26 4
gpt4 key购买 nike

我托管了在 ASP.net 中开发的 Web Api。我想如果有人调用我的 API,这样我就可以登录数据库,以便稍后如果我想使用 C# 拒绝来自特定 ID 的请求。

获取消费者 IP 和主机名的最佳做法是什么?

public static string GetIP4Address()
{
string IP4Address = String.Empty;

foreach (IPAddress IPA in Dns.GetHostAddresses(Request.ServerVariables["REMOTE_ADDR"].ToString())))
{
if (IPA.AddressFamily.ToString() == "InterNetwork")
{
IP4Address = IPA.ToString();
break;
}
}

if (IP4Address != String.Empty)
{
return IP4Address;
}

foreach (IPAddress IPA in Dns.GetHostAddresses(Dns.GetHostName()))
{
if (IPA.AddressFamily.ToString() == "InterNetwork")
{
IP4Address = IPA.ToString();
break;
}
}

return IP4Address;
}

最佳答案

解析名称听起来不是个好主意。如果您是从 DNS 无法解析的客户端计算机调用您的怎么办?我告诉你,dns 需要永远,然后失败,你必须捕获并记录为“未知主机名”的异常。

至于请求地址,用

获取即可
 HttpContext.Current.Request.UserHostAddress

关于c# - 在 ASP.NET Web API 中获取 Web Api 消费者 IP 地址和主机名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15712720/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com