我需要提出一个正则表达式来验证主机名对 RFC-1123和RFC-952.
现在我正在使用这个:
^(?=.{1,255}$)[0-9A-Za-z](?:(?:[0-9A-Za-z]|\b-){0,61}[0-9A-Za-z])?(?:\.[0-9A-Za-z](?:(?:[0-9A-Za-z]|\b-){0,61}[0-9A-Za-z])?)*\.?$/
Run Code Online (Sandbox Code Playgroud)
但这并没有成功,因为它没有捕获a.无效的主机名.
如何增强reg表达式以符合这些RFC?
谢谢
我正在尝试找出运行应用程序的本地计算机的名称(或其他唯一标识特定计算机的方法).
我一直在用这个:
String hostname = java.net.InetAddress.getLocalHost().getHostName();
Run Code Online (Sandbox Code Playgroud)
哪个工作正常,但我刚刚在分析器中注意到它需要花费相当多的时间来执行它,所以我想知道是否有功能相似的东西运行得更快.
不必是主机名,只要它唯一标识机器就可以是任何东西.
是否可以在 Node/Express 中获取客户端的主机名?
类似的东西req.connection.remoteAddress用于获取客户端的IP。
我工作的基于WiFi聊天引擎,我能够通过跟随着检索连接到当前的wifi网络主机列表这个链接现在得到了与IP地址的设备列表中,但我需要从IP地址的主机名和尝试以下
InetAddress inetAddr;
try {
inetAddr = InetAddress.getByName(host.hostname);
String hostname = inetAddr.getHostName();
String canonicalHostname = inetAddr.getCanonicalHostName();
holder.computerName.setText("Canonical : "+host.hostname);
} catch (Exception e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
这里主机名和规范主机名都显示ip地址而不是主机名.
请帮我解决这个问题.
我有这个 C 代码,它在运行 Linux (Guixsd) 的虚拟机上getenv("HOSTNAME");返回。NULL在调查过程中,我运行了以下三个命令,它们按预期工作:
hostname=>guixos
echo $HOSTNAME=>guixos
cat /etc/hostname=> guixos(无换行符)
所以我希望 env 也能打印出主机名,但是......
env | fgrep HOST=>
因此,我有三种实际有效的访问主机名的方法,以及两种我希望有效但无效的方法。有人可以解释为什么这两种方法也不给我主机名吗?
为什么有时,JavainetAddress.getHostName();给出完全限定的域名,有时只给出主机名,而没有域?是否可以在系统级别进行调整,以便仅通过调用该方法来获取 FQDN 或主机名。我知道inetAddress.getCanonicalHostName()那里有,但我想知道我们是否可以一起玩getHostName()。
(我提供了一个简单的工作解决方案作为回应)
我最近从 macOS 转移到 WSL 2。我有两个节点服务器在 WSL 2(Ubuntu 发行版)中运行。每个都必须可通过自定义主机名访问以用于开发和生产目的。我很难通过自定义主机名(即在某些 ../etc/hosts 文件中设置)访问节点服务器,尤其是考虑到 WSL 2 的动态 IP 会随着 WSL/pc 'boot' 而变化。如何在 WSL 2 中设置自定义主机名?
设想:
每个 node.js 应用程序服务器(再次在 WSL 2 中运行)必须从浏览器使用以下 URL/自定义主机名访问:
我正在使用wget自动下载Eclipse的ShellEd扩展,但收到错误:
http://: Invalid host name.
Run Code Online (Sandbox Code Playgroud)
我之前已成功使用过几次,所以我认为这是因为SourceForge使用镜像.我查看了wget的手册页,专注于referer和http_proxy,但仍然没有成功.这是我的脚本:
dowloadFile="http://downloads.sourceforge.net/project/shelled/shelled/Shelled%201.0.4/shelled_1_0_4.zip?use_mirror=voxel"
wget "$downloadFile"
Run Code Online (Sandbox Code Playgroud)
谢谢!
我正在尝试使用Ubuntu 11.10 EC2实例(ami-a562a9cc)配置puppetmaster和puppet客户端.我已启用自动证书签名.但每当我从puppet客户端发出命令:
#puppet agent --server puppet --waitforcert 60 --test
证书已签名但它会引发错误并且不会运行目录文件.
错误信息 :
错误:无法从远程服务器检索目录:hostname与服务器证书警告不匹配:未在失败的目录上使用缓存错误:无法检索目录; 跳过运行错误:无法发送报告:主机名与服务器证书不匹配
在PuppetMaster上应用Manifest文件可以正常工作但不适用于puppetclients.
我已经在亚马逊Linux和Centos上设置了puppet环境,并且它在它们上运行得很好.但我正面临Ubuntu 11.10的这些问题
谢谢Sanket Dangi
你知道如何通过类似的javascript获取网站的二级域名document.location.hostname吗?
我想创建一个mailto bookmarklet,它从字符串"info @"和secondlevel域生成一个电子邮件地址.document.location.hostname的问题是"www.".字首.
hostname ×10
java ×2
javascript ×2
amazon-ec2 ×1
android ×1
android-wifi ×1
bash ×1
certificate ×1
dns ×1
express ×1
fqdn ×1
hosts-file ×1
ip ×1
linux ×1
mailto ×1
node.js ×1
perl ×1
puppet ×1
regex ×1
shell ×1
ubuntu-11.10 ×1
url ×1
wget ×1
windows-10 ×1
wsl-2 ×1