用于从R中检索自己的ip地址的函数?

用于从R中检索自己的ip地址的函数?,r,R,有人知道R函数可以检索自己的IP地址(您正在使用的电脑的IP地址)吗?这将是非常有帮助的!非常感谢。您可以向您的操作系统发出system()命令: 在Windows中,您可以使用ipconfig 在Linux中,使用ifconfig 例如,在Windows上,尝试使用参数intern=TRUE调用system() x <- system("ipconfig", intern=TRUE) 现在,您可以使用grep查找具有IPv4的行: x[grep("IPv4", x)] [1] "

有人知道R函数可以检索自己的IP地址(您正在使用的电脑的IP地址)吗?这将是非常有帮助的!非常感谢。

您可以向您的操作系统发出
system()
命令:

  • 在Windows中,您可以使用
    ipconfig
  • 在Linux中,使用
    ifconfig
例如,在Windows上,尝试使用参数
intern=TRUE
调用
system()

x <- system("ipconfig", intern=TRUE)
现在,您可以使用
grep
查找具有
IPv4
的行:

x[grep("IPv4", x)]
[1] "   IPv4 Address. . . . . . . . . . . : 10.201.120.184"
[2] "   IPv4 Address. . . . . . . . . . . : 10.201.120.157"
要仅提取ip地址,请执行以下操作:

z <- x[grep("IPv4", x)]
gsub(".*? ([[:digit:]])", "\\1", z)
"10.201.120.184" "10.201.120.157"

z这将准确检索您想要的内容:

system('ipconfig getifaddr en0')

192.168.1.73

我最近使用
ipify.org
创建了一个最小的包来完成这项工作

使用非常简单,您可以使用
devtools
和github进行安装

库(devtools)
安装github(“gregce/ipify”)

一旦安装,它就像加载库和一个函数调用一样简单

库(ipify)
获取_ip()

尽管@andrie用非常通俗的语言解释了它,我相信它对我们理解它的功能有很大帮助

因此,从那时起,只共享一行代码,而不安装任何其他包

gsub(".*? ([[:digit:]])", "\\1", system("ipconfig", intern=T)[grep("IPv4", system("ipconfig", intern = T))])

希望这会有帮助

@user1983395欢迎来到SO。如果这个答案有帮助,请记住通过单击勾号接受它。我尝试从在线r应用程序中使用它,并得到以下错误:系统中的错误(“ipconfig”,intern=TRUE):运行命令时的错误。你知道怎么回事吗?你在网上运行什么操作系统?很可能是linux。您发出了DOS命令。您的命令在R或CMD窗口(在我的Windows 7工作站上)中不起作用。你能重新测试一下吗。可能只是针对你的机器?它只是返回了一个有关
ipconfig
命令的详细帮助手册。这也不起作用。可能它是在旧版本的R或您的IDE中工作的。这会获取机器的公共IP地址。有没有办法获取本地IP地址?
gsub(".*? ([[:digit:]])", "\\1", system("ipconfig", intern=T)[grep("IPv4", system("ipconfig", intern = T))])