我有一个对我的 web api 控制器的 JavaScript ajax 调用。当他们拨打电话时,我需要获取他们的 wan ip 地址。
我已经看到了很多 MVC 示例,但我使用的是 asp.net 核心,并且那里的方法不起作用。值始终为空。
这是js:
$.ajax({
url: "/my server ip",
type: "POST",
contentType: "application/json; charset=utf-8",
headers: { 'Content-Type': 'application/json' },
success: function (data) {
$("#DeviceIp").html(data.ip + " " + data.wanIp);
}
});
我的 API:
IActionContextAccessor accessor
_accessor = accessor;
[HttpPost]
[Route("Account/GetDeviceIp")]
public IpStats GetDeviceIp()
{
var WanIp = _accessor.ActionContext.HttpContext.Request.Headers.ToString();
}
注意
我应该这样说:
_accessor.ActionContext.HttpContext.Connection.RemoteIpAddress.ToString()
给了我空。另一种方法不为空,但该对象上没有 wanip 地址...
还
我使用的是 nginx 而不是 IIS