有没有办法获取访问闪亮应用程序的人的IP?希望有一个R / Shiny解决方案,但我也可以接受一个javascript解决方案。我想反向对IP进行地理编码,以生成可视化大多数用户访问应用程序的国家/地区的图表,然后将该信息放入应用程序供所有用户查看。我只需要一种方法来获取用户的IP,其他的东西很容易解决。
答案 0 :(得分:2)
你可以试试这个。
在文件夹www
中,输入此文件,例如getIP.js
:
$(document).ready(function(){
$.get("http://ipinfo.io", function(response) {
Shiny.onInputChange("getIP", response);
}, "json");
});
在ui.R
:
shinyUI(fluidPage(
tags$head(
tags$script(src="getIP.js")
),
.......
在server.R
中(观察者只是为了测试):
IP <- reactive({ input$getIP })
observe({
cat(capture.output(str(IP()), split=TRUE))
})
然后你得到IP()
的输出列表(我隐藏我的IP):
List of 8
$ ip : chr "xx MY IP IS HERE xx"
$ hostname: chr "No Hostname"
$ city : chr "Liège"
$ region : chr "Wallonia"
$ country : chr "BE"
$ loc : chr "50.6412,5.5718"
$ org : chr "AS12392 Brutele SC"
$ postal : chr "4020"
这不完美,有时结果是NULL
。