Я работаю на многоязычном веб-сайте, я могу получить IP-адрес пользователя, проблема в том, что я ищу очень безопасный и надежный способ получить IP-адрес и дать мне код страны, я хочу, чтобы пользователи открывали страницу своего языкапри входе на мой сайт я уже пользовался один раз, но он перестает оказывать услугу.У кого-нибудь есть идеи, как это сделать?Вот мой код, и я очень ценю любую помощь.Я ищу реальный надежный, Google или какой-либо другой API или даже любое предложение кода
public async Task<ActionResult> Index()
{
try
{
string userIpAddress = this.Request.UserHostAddress;
var client = new HttpClient
{
BaseAddress = new Uri("https:// `I need API HERE` ")
};
var response = await client.GetAsync(userIpAddress);
var content = await response.Content.ReadAsStringAsync();
var result = (Response)new XmlSerializer(typeof(Response)).Deserialize(new StringReader(content));
var country_name = result.CountryName;
var country_code = result.CountryCode;
TempData["Country_code"] = country_code;
TempData["Country_name"] = country_name;
if (country_code == "FR")
{
return RedirectToAction("fr", "Home");
}
else if (country_code == "JP")
{
return RedirectToAction("jp", "Home");
}
else if (country_code == "DE")
{
return RedirectToAction("de", "Home");
}
else if (country_code == "NL")
{
return RedirectToAction("nl", "Home");
}
else if (country_code == "CN")
{
return RedirectToAction("cn", "Home");
}
else if (country_code == "DK")
{
return RedirectToAction("dk", "Home");
}
else if (country_code == "RU")
{
return RedirectToAction("ru", "Home");
}
else
{
return RedirectToAction("en", "Home");
}
}
catch
{
return RedirectToAction("en", "Home");
}
}