私の Web アプリケーションは、ローカルの IIS サーバーで実行されます。フィドラーを使用して Web アプリの API を呼び出すと、奇妙なクライアント IP アドレスが表示されます。
public static class HttpRequestMessageHelper
{
public static string GetClientIpAddress(this HttpRequestMessage request)
{
string ip = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (string.IsNullOrEmpty(ip))
{
ip = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();
if (string.IsNullOrEmpty(ip))
{
return "Unknown IP-Adress";
}
}
return ip;
}
}
IPを取得するためにこの拡張メソッドを使用しています。私が取得しているIPは次のようになります: "fe80::745a:d3fa:db2c:7b94%11"