在Blazor服务器端应用程序中获取用户代理和IP

索鲁什·阿萨迪(Soroush Asadi)

我用Blazor创建了一个服务器端应用程序,我想在每个页面请求中获取ip用户代理,如何实现呢?在.NET Core应用中,我只需要在控制器中使用以下代码:

var userAgent  = Request.Headers["User-Agent"].ToString()

但是在Blazor中,我无法检索此数据。

丹妮·埃雷拉(Dani Herrera)

用户代理:

您可以通过JavaScript interop获得它遵循以下简单步骤:

在您的_Host.cshtml文件上:

<script>
window.getUserAgent = () => {
    return navigator.userAgent;
};
</script>

要在任何Blazor页面上获取用户代理,请执行以下操作:

var remoteUserAgent = await JSRuntime.InvokeAsync<string>("getUserAgent");

在此处输入图片说明

注意,您不需要在每个请求上都发送用户代理,您可以在第一个请求中发送它,所有其他客户端通信将通过同一套接字进行。

远端IP:

坏消息:“目前尚无好方法。我们将研究如何向客户提供此信息。” 有关如何在Blazor中获取客户端IP和浏览器信息的详细信息?

编辑于2019年12月31日:

我想我对如何访问的想法过多了HttpContext阅读一些@enet注释和“如何在服务器端Blazor中使用HttpContext对象检索有关用户,用户代理的信息”的帖子,我意识到您可以HttpContext通过第一个请求而不是通过SignalR请求进行访问。我的意思是Blazor Server通过Http Request将应用程序发送给客户端(浏览器),此时,当Blazor Server应用程序提供给客户端时,您可以访问HttpContext在此处复制粘贴Michael Washington的答案(现已删除),此答案与Soroush Asadi的评论非常接近

在您的启动文件中添加到ConfigureServices(IServiceCollection services)

services.AddHttpContextAccessor();

.razor页面中添加:

@using Microsoft.AspNetCore.Http
@inject IHttpContextAccessor httpContextAccessor

//Then call:

httpContextAccessor.HttpContext.Connection?.RemoteIpAddress.ToString();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

用户登录后,如何在Blazor服务器端应用程序中检索用户声明?

来自分类Dev

用户登录后,如何在Blazor服务器端应用程序中检索用户声明?

来自分类Dev

如何从blazor(服务器端)Web应用程序获取访问令牌?

来自分类Dev

divshot的服务器端代理未在Ember应用程序中呈现JSON API

来自分类Dev

如何在Blazor服务器端Web应用程序中扩展IdentityUser

来自分类Dev

如何从Blazor服务器端应用程序中的剃须刀页面导航到blazor组件?

来自分类Dev

从服务器端Blazor应用程序调用API时,用户声明始终为空

来自分类Dev

如何在发布(服务器端)流星中获取用户Facebook ID

来自分类Dev

第一次在Blazor服务器端应用程序中调用Web API无效

来自分类Dev

登录Blazor服务器端应用程序不起作用

来自分类Dev

@onblur防止在blazor服务器端应用程序中使用@onclick

来自分类Dev

部署Blazor服务器端应用程序而无需停止站点

来自分类Dev

下载文件后Blazor服务器端应用程序死亡

来自分类Dev

在 nodejs Web 应用程序中,firebase 配置的哪些部分位于服务器端和客户端

来自分类Dev

应用程序的服务器端/云编码?

来自分类Dev

服务器端应用程序-最佳实践?

来自分类Dev

在Vaadin 7 Web应用程序中获取用户的IP地址和其他客户端信息

来自分类Dev

如何强制用户从节点服务器上的服务器端注销并响应Web应用程序?

来自分类Dev

如何在客户端更新 Blazor Server 应用程序的服务器端更改?

来自分类Dev

从服务器托管应用程序时,如何获取用户文件的本地桌面路径?

来自分类Dev

服务器端Web应用程序中的页面重定向

来自分类Dev

在线Adobe Flash应用程序中的文本是否在服务器端呈现?

来自分类Dev

在PHP应用程序中显示服务器端呈现的reactJS组件

来自分类Dev

React应用程序:使用Node / express作为中端代理服务器

来自分类Dev

TCP/IP 聊天客户端服务器应用程序注册用户

来自分类Dev

如何在Rails应用程序中运行服务器端Faye客户端?

来自分类Dev

如何在服务器端Blazor中使用HttpContext对象检索有关用户,用户代理的信息

来自分类Dev

在服务器端运行客户端 websocket 应用程序?

来自分类Dev

Django服务器端应用程序(可能是微博客)和android应用程序客户端-如何进行通讯

Related 相关文章

  1. 1

    用户登录后,如何在Blazor服务器端应用程序中检索用户声明?

  2. 2

    用户登录后,如何在Blazor服务器端应用程序中检索用户声明?

  3. 3

    如何从blazor(服务器端)Web应用程序获取访问令牌?

  4. 4

    divshot的服务器端代理未在Ember应用程序中呈现JSON API

  5. 5

    如何在Blazor服务器端Web应用程序中扩展IdentityUser

  6. 6

    如何从Blazor服务器端应用程序中的剃须刀页面导航到blazor组件?

  7. 7

    从服务器端Blazor应用程序调用API时,用户声明始终为空

  8. 8

    如何在发布(服务器端)流星中获取用户Facebook ID

  9. 9

    第一次在Blazor服务器端应用程序中调用Web API无效

  10. 10

    登录Blazor服务器端应用程序不起作用

  11. 11

    @onblur防止在blazor服务器端应用程序中使用@onclick

  12. 12

    部署Blazor服务器端应用程序而无需停止站点

  13. 13

    下载文件后Blazor服务器端应用程序死亡

  14. 14

    在 nodejs Web 应用程序中,firebase 配置的哪些部分位于服务器端和客户端

  15. 15

    应用程序的服务器端/云编码?

  16. 16

    服务器端应用程序-最佳实践?

  17. 17

    在Vaadin 7 Web应用程序中获取用户的IP地址和其他客户端信息

  18. 18

    如何强制用户从节点服务器上的服务器端注销并响应Web应用程序?

  19. 19

    如何在客户端更新 Blazor Server 应用程序的服务器端更改?

  20. 20

    从服务器托管应用程序时,如何获取用户文件的本地桌面路径?

  21. 21

    服务器端Web应用程序中的页面重定向

  22. 22

    在线Adobe Flash应用程序中的文本是否在服务器端呈现?

  23. 23

    在PHP应用程序中显示服务器端呈现的reactJS组件

  24. 24

    React应用程序:使用Node / express作为中端代理服务器

  25. 25

    TCP/IP 聊天客户端服务器应用程序注册用户

  26. 26

    如何在Rails应用程序中运行服务器端Faye客户端?

  27. 27

    如何在服务器端Blazor中使用HttpContext对象检索有关用户,用户代理的信息

  28. 28

    在服务器端运行客户端 websocket 应用程序?

  29. 29

    Django服务器端应用程序(可能是微博客)和android应用程序客户端-如何进行通讯

热门标签

归档