在C#API控制器中获取请求来源 [英] Get request origin in C# api controller

查看:759
本文介绍了在C#API控制器中获取请求来源的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我通过ajax调用某些api端点时,是否有办法在api控制器中获取请求来源值?

Is there a way how can I can get request origin value in the api controller when I'm calling some api endpoint with ajax call?

例如,我正在从www.xyz.com拨打此电话:

For example I'm making this call from www.xyz.com:

$http({
    url: 'http://myazurewebsite.azurewebsites.net/api/ValueCall/CheckForExistingValuers',
    method: "GET",
    params: { loanID: $scope.loanIdPopup }
}).success(function (data) {

}).error(function (data) {

});

在api方面,如何获得www.xyz.com的价值?

Once on the api side, how can I get the www.xyz.com value?

CORS正常工作。

推荐答案

您在寻找什么for可能是原始标头。如果您正在执行跨域请求,则所有现代浏览器都会将其发送。

What you're looking for is probably the origin-header. All modern browsers send it along if you're doing a cross domain request.

ApiController 中,您可以获取它像这样:

In an ApiController you fetch it like so:

if (Request.Headers.Contains("Origin"))
{
    var values = Request.Headers.GetValues("Origin");
    // Do stuff with the values... probably .FirstOrDefault()
}

这篇关于在C#API控制器中获取请求来源的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆