Ste*_*hRT 2 c# asp.net-web-api asp.net-web-api2
嘿所有我试图找到一些代码,让我知道对Web服务的POST请求来自哪个域.
举个例子:
如果Web服务在域上:
bob.com/webService/Postsomething
Run Code Online (Sandbox Code Playgroud)
客户端在域上加载页面:
bill.com/postpage.html
Run Code Online (Sandbox Code Playgroud)
在html页面上使用AJAX点击Web服务后,我希望能够从post函数中获取以下信息:
bill.com
Run Code Online (Sandbox Code Playgroud)
到目前为止,我只能获取Web服务所在的IP和主机名,而不是他们要求Web服务提供信息的客户端域.
您可以使用referrer HTTP标头:
public HttpResponseMessage Get()
{
var domain = Request.Headers.Referrer?.GetLeftPart(UriPartial.Authority);
...
}
Run Code Online (Sandbox Code Playgroud)
当然这个标头不能保证存在,你绝对不能依赖它,因为发出HTTP请求的客户端可能只是决定不发送它.在使用它之前,应始终检查它是否为null.
| 归档时间: |
|
| 查看次数: |
3736 次 |
| 最近记录: |