嘿所有我试图找到一些代码,让我知道对Web服务的POST请求来自哪个域。
举个例子:
如果网络服务在域上:
bob.com/webService/Postsomething
客户端在域上加载页面:
bill.com/postpage.html
在html页面上使用AJAX点击Web服务后,我希望能够从post函数中获取以下信息:
bill.com
到目前为止,我只能获取Web服务所在位置的IP和主机名,以及不他们要求Web服务提供信息的客户端域。
答案 0 :(得分:5)
您可以使用referrer HTTP header:
public HttpResponseMessage Get()
{
var domain = Request.Headers.Referrer?.GetLeftPart(UriPartial.Authority);
...
}
当然这个标头不能保证存在,你绝对不能依赖它,因为发出HTTP请求的客户端可能只是决定不发送它。在使用之前,您应该始终检查它是否为空。