最近获取IP时,发现获取IP到拼接字符串时,发现IP后面的数据被隐藏了,也没有报错。
比如string str =request.Headers["X-Forwarded-For"]+“|这里字符串被隐藏了”
//request.Headers["X-Forwarded-For"]获取代理Ip
经过测试排查后,偶然会出现特殊情况,发现
string str=request.Headers["X-Forwarded-For"];//获取代理IP
Console.WriteLine(str)//显示49.86.104.141
Console.WriteLine(UrlEncode(str))//显示49.86.104.141%00+123.207.177.218
123.207.177.218显示是腾讯云的
可用正则获取下IP
var macth_ip = Regex.Match(request.Headers["X-Forwarded-For"], @"\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}").Value;
return macth_ip;