在$. post()方法中包含调用者的IP地址
本文关键字:调用者 包含 IP 地址 方法 post | 更新日期: 2023-09-27 18:09:08
我正在调用具有Post方法和一些数据的服务器。服务器需要有呼叫者的IP地址或任何类型的身份。我使用JQuery的$. POST()方法从我的机器发送我的POST请求。
在服务器端,如果我得到HttpRequestMessage.Referrer.Host名,它显示为"localhost"。我只是想知道如何将我的IP信息包含在我的Http请求的引用者或起始标头中,或打开我的客户端Web应用程序,该应用程序使用某些IP发送Post请求是唯一的选择?
function submitValues() {
var accno = $("#accno").val();
var amt = $("#amount").val();
var modifiedacctno = Math.floor((Math.random() * 100000) + 1);
var modifiedAmt = Math.floor((Math.random() * 10000) + 1);
var posting=$.post("http://192.168.2.3:50063/api/Transaction", { ToAccountNumber: modifiedacctno, amount: modifiedAmt }, null, "html")
posting.done(function (data) {
console.log("Data Loaded: " + data);
$("#result").empty().append(data);
});
}
即使您能够通过javascript以某种方式获得调用者的IP地址,通常情况下客户端也不知道自己的IP地址。这是因为大多数人都在NAT后面,所以他们的计算机认为他们在IP地址192.168.25.53上,但他们的公共地址很可能与此不同。
获取客户端IP地址的方法是在服务器上。正确的方法是使用Request
对象,更具体地说是UserHostAddress
属性。
var remoteUserIp = Request.UserHostAddress;
// do your processing with remoteUserIp here
在进一步审查后,这似乎不是一个很好的方式来做这个WebAPI,请参阅@Kiran链接的答案- https://stackoverflow.com/a/9571292/1184056