WEB api 2获取请求

时间:2016-02-12 15:12:08

标签: c# asp.net-web-api asp.net-web-api2

嘿所有我试图找到一些代码,让我知道对Web服务的POST请求来自哪个域。

举个例子:

如果网络服务在域上:

bob.com/webService/Postsomething

客户端在域上加载页面:

bill.com/postpage.html

在html页面上使用AJAX点击Web服务后,我希望能够从post函数中获取以下信息:

bill.com

到目前为止,我只能获取Web服务所在位置的IP和主机名,以及他们要求Web服务提供信息的客户端域。

1 个答案:

答案 0 :(得分:5)

您可以使用referrer HTTP header

public HttpResponseMessage Get()
{
   var domain =  Request.Headers.Referrer?.GetLeftPart(UriPartial.Authority);

    ...
}

当然这个标头不能保证存在,你绝对不能依赖它,因为发出HTTP请求的客户端可能只是决定不发送它。在使用之前,您应该始终检查它是否为空。