WEB API 2 如何获取请求的客户端域名

4
嗨,我正在尝试找到一些代码,以便让我知道POST请求到Web服务的域名来自哪里。
例如:
如果Web服务在域上:
bob.com/webService/Postsomething

客户端加载域名上的页面:

bill.com/postpage.html

当使用HTML页面上的AJAX关闭Web服务后,我想从调用它的POST函数中获取以下信息:

bill.com

到目前为止,我只能得到 Web 服务所在的 IP 和主机名,而不能获取客户端域,他们正要求从 Web 服务中获取信息。

1个回答

7

您可以使用引用者HTTP头

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

    ...
}

当然,不能保证此标题一定存在,你绝对不能依赖它,因为发起HTTP请求的客户端可能会决定不发送它。在使用之前,您应始终检查其是否为空。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接