我正在编写一个 bash 脚本来 ping 某个网址。问题是,当我说:
ping https://www.dictionary.com/browse/word
然后 ping 说
ping: https://www.dictionary.com/browse/word: Name or service not known
有人能帮我解决这个问题吗?我可以使用什么程序来 ping https 服务器。
我必须在那里使用斜线,因为我想 ping 那个特定的页面。
提前谢谢您。
答案1
您可以使用httping
:
httping https://www.dictionary.com/browse/word
如果您想检查您的单词是否存在,您需要指定,只有状态 200 才可以。
httping -m -o 200 https://www.dictionary.com/browse/word
并且也许添加-c 1
1 次探测后退出并-l
避免出现 SSL 已自动启用的信息消息。
输出:
$ httping -l -m -o 200 -c1 https://www.dictionary.com/browse/word
69,734001
$ httping -l -m -o 200 -c 1 https://www.dictionary.com/browse/not_existing_word
-1
通过安装
sudo apt install httping
如果httping
没有其他选择,当然有curl
可能打印请求的状态代码仅有的。
$ curl -s -o /dev/null -w "%{http_code}\n" https://www.dictionary.com/browse/word
200
$ curl -s -o /dev/null -w "%{http_code}\n" https://www.dictionary.com/browse/not_existing_word
301
答案2
Ping 仅识别主机名和 IP 地址。因此,在您的示例中,它应该是:
ping www.dictionary.com
但即使这样也不一定能起作用,因为 icmp 数据包(ping 是其中的一部分)可能会在到达目的地的途中被路由器或防火墙阻止。