首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查询远程服务器的操作系统?

查询远程服务器的操作系统?
EN

Stack Overflow用户
提问于 2011-09-09 23:47:18
回答 2查看 1.4K关注 0票数 1

有没有办法在Perl中查询服务器的操作系统类型?例如,如果我知道一个远程服务器正在运行Windows,我可能会从我的本地计算机向它发送一个winver,并获得输出以确定它正在运行的Windows版本。然而,有没有一种更抽象的方式,简单地问“你是什么?”

由于CPAN很大,我想知道是否有封装这种功能的模块。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-09 23:56:59

如果您可以在删除服务器上获得命令行访问权限,那么您应该能够使用%ENV

代码语言:javascript
复制
jmaney> perl -e 'print "$ENV{OSTYPE}\n";'
linux

编辑:它看起来好像在Windows7(或者,至少在我笔记本上的Windows7)中的密钥是OS。所以,不幸的是,通过%ENV的确切解决方案依赖于操作系统...但是,您可以查看定义了$ENV{OS}$ENV{OSTYPE}中的哪一个(如果两者都定义了,则规范地选择要使用哪一个),并进行相应的处理。

票数 3
EN

Stack Overflow用户

发布于 2011-09-10 00:03:13

没有万无一失的方法可以做到这一点,但header -服务器不需要发送--通常包含操作系统。例如,它可能看起来像这样(来自Wikipedia):

代码语言:javascript
复制
    Server: Apache/1.3.27 (Unix) (Red-Hat/Linux)

The Perl CGI module has an http function that gets the HTTP headers。你可以这样使用它:

代码语言:javascript
复制
my $server = $q->http('Server');
# Test $server for Windows, *nix, etc
# My Perl experience is minimal and I haven't used it in
# a while, so I'm not going to give an example here, but
# someone can feel free to edit one in.

CPAN可能有一个模块来为您测试Server报头。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7364214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档