怎么获得用户的本地ip地址,再显示在fr的报表上(FR9.0)

别告诉我是使用getip(), 这个只会抓到服务器ip地址,不会得到用户ip。

(用户ip,只要本地本地ip地址就好,不用公网ip)

FineReport sdoger 发布于 2021-11-15 11:49
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
sdogerLv2见习互助
发布于2021-12-2 16:53

因为测试的时候没有把报表放在服务器上,等放上去后,就能抓到本地ip了。

另外关于IP这边特别说明:

  1. getip()   抓取user客户端的本地ip地址,前提是要不报表放在服务器上

  2. serverName 获取的服务器的 name即IP地址,比如 http://localhost:8075/WebReport/ReportServer?reportlet=

 得到的结果就是loalhost,放到服务器就会显示服务器ip(多台服务器的时候可以做成日志区分)

最佳回答
1
if12138Lv6初级互助
发布于2021-11-15 11:51(编辑于 2021-11-15 11:55)

常用函数集合插件-https://help.finereport.com/doc-view-1493.html

安装插件后获取!

image.png

移动端测试得到的ip

image.png

pc端测试得到的ipimage.png

  • sdoger sdoger(提问者) 为何我得到了 “localhost” ? 你用什么版本的 fr ? 我是 FR 11.0
    2021-11-15 12:00 
  • if12138 if12138 回复 sdoger(提问者) 你把localhost换成ip就可以了
    2021-11-15 12:02 
  • if12138 if12138 回复 sdoger(提问者) 我使用10测的 预览报表的地址使用localhost则获取localhost使用ip则就获取ip
    2021-11-15 12:03 
  • sdoger sdoger(提问者) 回复 if12138 localjhost解析成本地ip,就永远是127.0.0.1. 这样不行,因为你这个抓的是服务器的ip地址,不是用户端的。 你是个人免费版的FR ? 我要抓ip的作用是,共享的FR报表(服务器上),记录本user的ip地址。 类似你上一个BBS,对方会显示你的ip地址,这样就可以记录下来,谁使用过你的FR报表。
    2021-11-15 13:07 
  • sdoger sdoger(提问者) 回复 if12138 我这边是有FR的服务器,把写好的FR报表放上去, 目的比较简单,就是看哪个用户(IP)使用过这个报表,做一个日志. (每次载入的时候,记录用户的ip地址,时间到mysql内) 一般的网页或者BBS登录的时候,都能看到你的IP地址,我在想FR够强大,一定也有类似的解决方式。 不知道能否实现?
    2021-11-17 09:10 
  • 1关注人数
  • 742浏览人数
  • 最后回答于:2021-12-2 16:53
    请选择关闭问题的原因
    确定 取消
    返回顶部