Aar*_*ron 19 asp.net-mvc http-headers
我需要捕获来自设备的HTTP用户代理标头,获取值并删除'uuid'然后可以使用此UUID将设备定向到正确的位置,以便为其提供与设备相关的文件.
在webforms中,我能够使用它
Request.ServerVariables["HTTP_USER_AGENT"]; //inside of Page_Load method
Run Code Online (Sandbox Code Playgroud)
我如何在MVC中解决这个问题?我还在学习MVC2所以请耐心等待:-)
提前致谢,
亚伦
She*_*Wei 17
如果在控制器中,您可以通过以下方式轻松获取标题:
Request.Headers.GetValues("XXX");
Run Code Online (Sandbox Code Playgroud)
如果名称不存在,则会抛出异常.
Ode*_*ded 13
你在控制器中以同样的方式做到这一点:
Request.ServerVariables.Get("HTTP_USER_AGENT");
Run Code Online (Sandbox Code Playgroud)
该Request对象是ASP.NET,MVC的一部分.
例如,见这个.
.Net 6 及以上版本,其工作原理如下:
Request.Headers.TryGetValue("Auth-Token", out StringValues headerValues);
string jsonWebToken = headerValues.FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
我更喜欢更简洁的新语法:
[HttpGet]
public async Task<IActionResult> GetAuth([FromHeader(Name = "Auth-Token")] string jwt) {
Run Code Online (Sandbox Code Playgroud)
没有连字符的标题-不需要名称,它们会自动映射:
[HttpGet]
public async Task<IActionResult> GetAuth([FromHeader]string host) {
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
32211 次 |
| 最近记录: |