c# - 在 C# api Controller 中获取请求来源

标签 c# asp.net-web-api cors httpwebrequest httprequest

当我使用 ajax 调用某些 api 端点时,有没有办法在 api Controller 中获取请求原始值?

例如,我从 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 值?

CORS 正常工作。

最佳答案

您正在寻找的可能是 origin-header。如果您正在进行跨域请求,所有现代浏览器都会发送它。

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

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

关于c# - 在 C# api Controller 中获取请求来源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41365670/

相关文章:

javascript - 从 asp 下拉列表调用 Javascript 函数

c# - 如何在不重复的情况下添加与现有实体有关系的新实体? (英孚 6.1)

nginx - 如何阻止其他网页从我的服务器下载媒体?

jquery - CORS header 'Access-Control-Allow-Origin' 丢失

c# - 如何在表单内使用 AJAX 调用方法?

c# - 如何解析具有属性的类?

c# - 在 Windows 中安全地存储密码

c# - 从异步 ApiController 返回即时响应

javascript - Web API - 无法加载资源 : the server responded with a status of 404

django - 在 Django 中根据端点设置不同的 CORS 规则