我正在尝试确定网络上的设备是否运行Web服务器或不使用Java。为此,我使用Apache的HttpClient。我发送一个请求,如果设备运行Web服务器,我会得到一个响应-非常简单。
然而,如果一个Web服务器没有运行,那么我观察到两件事发生:
- 该请求将被忽略并发生超时
- 将抛出一个异常,具体如下:
发生异常:连接到www.example.com:80 [/192.168.12.133]失败:192.168.12.133连接 Connection refused: connect
当我收到"连接被拒绝"异常与完全没有响应时,是否可以推断出我试图连接的设备?
编辑:
只是澄清一下:我所做的是在本地网络上的设备上运行这个程序。这意味着NAS盒、路由器、Windows电脑、iPad等。有些会有嵌入式Web服务器,有些不会。大多数不会有防火墙。
我也百分之百确定设备已经启动并运行。
1条答案
按热度按时间uqzxnwby1#
你不能100%确定地推断任何事情,但是:
可考虑的其他可能性包括:
话虽如此,根据当前(2023)的StackOverflow标准,这个问题是离题的。您应该询问有关联网和在ServerFault上诊断网络错误的问题。这不是编程问题。
下面是关于ServerFault的一个相关问题: