.net6 webapi获取Request.UrlReferrer,给出范例
时间: 2024-10-24 15:11:10 浏览: 29
在 .NET 6 中,你可以使用 ASP.NET Core 的 `HttpRequest` 类来访问 HTTP 请求的相关信息,包括 URL 引用(`UrlReferrer`)。`UrlReferrer` 属性通常包含了用户点击链接跳转到当前请求页面之前所在的页面地址。
以下是一个简单的示例,演示如何在 Web API 控制器的方法中获取 `UrlReferrer`:
```csharp
using Microsoft.AspNetCore.Mvc;
[ApiController]
public class MyController : ControllerBase
{
[HttpGet]
public IActionResult GetReferer()
{
// 获取请求的原始来源 URL (如果有的话)
string urlReferrer = HttpContext.Request.Headers["Referer"].FirstOrDefault() ?? "Not available";
return Ok(new { Referrer = urlReferrer });
}
}
```
在这个例子中,我们首先从 `HttpRequest.Headers` 中查找名为 "Referer" 的键值对,因为浏览器通常会在 User-Agent 或其他头信息中提供这个值。如果找不到,我们就返回默认值 "Not available"。
注意:由于同源策略(Same-Origin Policy)的原因,浏览器不会发送 Referer 到跨域请求,所以如果你的 API 接口不是同一个域名下的,实际获取到的 `UrlReferrer` 可能为空。
阅读全文