HttpClient 中“连接被拒绝”异常和超时之间的区别

2024-03-22

我正在尝试确定网络上的设备是否正在使用 Java 运行 Web 服务器。为此,我使用 Apache 的 HttpClient。我发送一个请求,如果设备运行网络服务器,我就会收到响应 - 非常简单。

但是,如果网络服务器没有运行,那么我观察到会发生两件事:

  • 请求将被忽略并且会发生超时
  • 将抛出异常。特别是,它看起来像这样:

    org.apache.http.conn.HttpHostConnectException:连接到192.168.12.133:80 [/192.168.12.133]失败:连接被拒绝:连接

当我收到“连接被拒绝”异常与根本没有响应时,是否可以推断出有关我尝试连接的设备的任何信息?

Edit:

只是为了澄清:我正在做的是针对本地网络上的设备运行它。这意味着 NAS 盒、路由器、Windows 计算机、iPad 等。有些会有嵌入式 Web 服务器,有些则没有。大多数不会有防火墙。

我还 100% 确定该设备已启动并正在运行。


您无法 100% 确定地推断出任何事情,但是:

  • 连接超时probably表示主机/端口已受防火墙保护,或者主机已“关闭”。
  • 连接被拒绝probably意味着主机没有在您尝试连接的端口上运行任何服务。

其他需要考虑的可能性包括:

  • 网络或虚拟网络配置错误可能导致网络数据包发送到错误的位置或被丢弃。

  • 硬件错误或“电缆脱落”或......的可能性


话虽如此,按照当前(2023)StackOverflow 标准这个问题是题外话。您应该在 ServerFault 上询问有关网络和诊断网络错误的问题。这不是一个编程问题。

这是关于 ServerFault 的相关问题:

  • 为什么有些连接超时而另一些则被拒绝? https://serverfault.com/questions/521359
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HttpClient 中“连接被拒绝”异常和超时之间的区别 的相关文章

  • (更好的方法)使用 Eclipse 和 XText 获取项目中的文件

    我正在编写一个 XText 编辑器 并进行一些语义突出显示 我正在解析的部分语言引用了文件 这些文件应该存在于项目中 我想根据这些文件是否位于正确的位置来突出显示 目前 我有一个非常丑陋的解决方案 但我确信有更好的方法 public voi
  • 使用 igraph 将边缘属性显示为标签

    我在 R 中使用 igraph 进行网络分析 我想在图中的每条线上显示边缘属性 下面是一个例子 df lt data frame a c 0 1 2 3 4 b c 3 4 5 6 7 nod lt data frame node c 0
  • selenium 2.0 中的 isElementPresent

    大家好 我正在使用 webdriver 所以如果我想使用 selenium s rc 函数 isElementPresent 我必须模拟 selenium rc 所以我会执行以下操作 import org openqa selenium B
  • Java中如何对对象数组进行排序?

    我的数组不包含任何字符串 但它包含对象引用 每个对象引用都通过 toString 方法返回名称 id 作者和发布者 public String toString return name n id n author n publisher n
  • Mediaplayer 播放几次后停止播放

    我有一个按钮 按下它会播放一个随机声音剪辑 然后播放另一个声音剪辑 然后通过一个媒体播放器播放另一个声音剪辑 但是多次按下该按钮 15 20 次 后 所有音频都会停止 我在播放最后一个音频剪辑后释放媒体播放器 所以我不认为这是原因 有什么指
  • JSF-2 应用程序中的服务器端计时器

    在我正在开发的 JSF 2 应用程序中 当用户执行操作时 我需要启动服务器端计时器 这个计时器必须与应用程序本身相关 因此它必须在用户会话关闭时继续存在 为了解决这个问题 我想使用 java util Timer 类在应用程序范围的 bea
  • 使用 SSL 和代理设置的 Rest 客户端获取连接超时

    我正在使用带有忽略 ssl 的 Rest 客户端 它工作正常 但在将来我尝试使用客户端证书进行的生产中将无法工作 我有 ca 证书和客户端证书 我用它创建了一个客户端 但我收到错误 Exception in thread main com
  • 参考接口创建对象

    引用变量可以声明为类类型或接口类型 如果变量声明为接口类型 则它可以引用实现该接口的任何类的任何对象 根据上面的说法我做了一个理解上的代码 正如上面所说声明为接口类型 它可以引用实现该接口的任何类的任何对象 但在我的代码中显示display
  • python 中的子进程调用以使用 JAVA_OPTS 调用 java jar 文件

    示例代码 import subprocess subprocess call java jar temp jar 如何在上面的命令中指定JAVA OPTS 当我使用上述命令时 我收到 java lang OutOfMemoryError 无
  • Java:从 ScriptEngine javascript 返回一个对象

    我正在尝试使用 Java 来评估 javascript脚本引擎 https docs oracle com javase 7 docs api javax script ScriptEngine html班级 这是我正在尝试做的事情的一个简
  • 对象映射器 - YAMLFactory - 由于缺少 _createContentReference 方法而出现异常

    我正在使用最新的 2 13 0 版本的 jackson 当我尝试解析 YAML 文件时 出现此异常 java lang NoSuchMethodError com fasterxml jackson core io ContentRefer
  • 从 Java 应用程序读取的文件是否会调用系统调用?

    我的理解是 请求文件系统路径 例如 aFile 的用户应用程序将调用文件系统并获取所请求文件的虚拟地址 然后应用程序将尝试以该地址作为参数 即作为 CPU 指令 进行读 写操作 执行读取命令时 内存管理单元会将该地址转换为物理地址 并查看页
  • Java 中的连接路径

    In Python我可以连接两条路径os path join os path join foo bar gt foo bar 我正在尝试在 Java 中实现相同的目标 而不用担心是否OS is Unix Solaris or Windows
  • 使用 Retrofit 获取原始 HTTP 响应

    我想从我的 API REST 获取原始 http 响应 我尝试过这个界面 POST login FormUrlEncoded Call
  • Java 执行器和长寿命线程

    我继承了一些使用 Executors newFixedThreadPool 4 的代码运行 4 个长寿命线程来完成应用程序的所有工作 这是推荐的吗 我读过Java 并发实践 https rads stackoverflow com amzn
  • 如果 @transactional 在类级别应用,如何拦截 @transactional 参数

    我想捕获 transactional 的参数 如果它应用于类级别 例如如果 transactional应用在方法级别 例如 class A transactional readOnly true public void someMethod
  • “mvn”不被识别为内部或外部命令、可操作程序或批处理文件

    可能是之前问过问题 但我发现了非常奇怪的错误 当我跑步时mvn versionbin 中的命令给出了版本和其他信息 但是 当我跑到垃圾箱外面时 它会出现异常 下面提到的结果 C Program Files apache maven 3 0
  • Swing GUI 出现 IntelliJ 错误“contentPane 无法设置为 null。”从终端编译时

    当我从 IntelliJ 编译我的项目时 没有任何问题 我的程序运行顺利 但是当我尝试使用 javac 从终端编译它时 警告 注意 Victor presentation TableControllerMenu java 使用未经检查或不安
  • 在edittext android中插入imageview

    我想将 imageview 放在 edittext 中 可能吗 我检查了 evernote 应用程序 它能够将照片放在编辑文本部分 我想让我的应用程序完全相同 我如何才能将从图库中选择的图像视图放入编辑文本中 我首先尝试将 imagevie
  • RetentionPolicy CLASS 与 RUNTIME

    两者之间有什么实际区别RetentionPolicy CLASS and RetentionPolicy RUNTIME 看起来两者都被记录到字节码中 并且无论如何都可以在运行时访问 无论如何 两者都可以在运行时访问 那不是那个javado

随机推荐

  • 如何在 Javascript 中查找财产的所有者

    好的 因为我最初的问题听起来不清楚 所以我决定对其进行编辑 我的问题是如何找出谁定义了某个属性 例如parseInt函数 我如何知道它是在哪个对象上定义的 就像 ifparseInt被定义在window对象或document对象或任何对象
  • 从多个嵌套数组创建新的数据对象集

    我有一个复杂的数据结构 其中有多个嵌套数组 下面是当前的结构 var contentData data content type column sections sub type heading 1 text Heading Text ty
  • 引导程序和访问过的链接

    我们使用 Bootstrap 为我们的网站提供响应能力 指示后续链接是良好的用户体验实践 但由于 Bootstrap 是为应用程序构建的 因此它不支持这一点 人们使用过任何解决方法吗 一年多前 问题已通过 bootstrap 记录并关闭 请
  • 如何检测移动设备是否由 Google Chrome 模拟? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 有没有办法区分真实的移动设备和 Google Chrome 模拟的设备 请注意 Google Chrome 可以模拟用户代理 触摸屏
  • 从站点中抓取验证链接 Href

    我想从以下位置获取验证hrefGmailnator 收件箱 https www gmailnator com geralddoreyestmp messageid 179b454b4c482c4d并且此站点包含 href 不和谐验证 如下所
  • javascript 模块导出模式

    有人可以解释一下导出变量的用途吗 从backbone js复制过来 我还注意到spine js使用相同的模式 https gist github com 1375748 https gist github com 1375748 var B
  • 如何更改 Sublime Text 中输出面板的位置?

    我希望输出显示在代码的右侧 而不是下面 我可以将视图更改为两列 但无法更改输出面板的位置 例如 是否可以将输出面板的位置更改为代码的右侧 而不是代码的下方 有一种解决方案已经存在多年 但似乎并未得到广泛使用 这是包buildview 它将构
  • 如何在指令模板中使用范围

    我想在这样的指令的模板函数中使用 scope 变量 换句话说 我想在指令内部并使用 scope 变量生成指令模板 帮助我将模板功能连接到控制器 directive data compile http templateCache functi
  • Oracle Apex - REST 数据源 - 嵌套 JSON 数组 - 同步两个表 - 在哪里编写 SQL

    这个问题是后续问题另一个问题 https stackoverflow com questions 75183126 oracle apex 22 21 rest data source nested json array discovery
  • 使用 Javascript 使用计时器更改背景颜色和文本颜色

    我正在尝试使用计时器更改表格及其所有单元格的背景和文本颜色 我在结束标记之前有下面的脚本 背景是唯一改变的 表的 ID 是 titleTable 谢谢
  • 初始化结构体的结构体

    如果我在 C 中有一个结构体 它有一个整数和一个数组 如果该结构体是另一个结构体的成员 那么如何将整数初始化为 0 将数组的第一个元素初始化为 0 以便对于另一个结构体的每个实例整数和数组有那些初始化值 可以为嵌套结构嵌套初始化程序 例如
  • Java7 nio2 有可用的内存文件系统实现吗?

    我一直在寻找内存中的 nio2 文件系统实现 这将使我能够更轻松地测试依赖于 IO 的代码 看来 Java 本身只提供了 在我的 JDK 中 Win32FileSystem and a ZipFileSystem 它似乎收缩包装 http
  • 当重复应用于一系列计算时,ROUND_HALF_EVEN 为何以及如何最小化累积误差?

    我听说 ROUND HALF EVEN 是金融数据计算中首选的舍入模式 我很想知道这种舍入模式为何以及如何减少 javadoc BigDecimal 1 4 2 中所述的累积误差 谢谢 院长 From 维基百科 http en wikipe
  • Laravel:验证最大文件大小?

    我正在尝试在 Laravel 中验证最大文件大小为 500kb validator Validator make request gt all file gt size 500 但这表明该文件应该正好 500kb 大 如何编辑此规则 使其在
  • Django:将参数传递给原始 SQL 查询时 MySQL 语法错误

    我正在尝试执行原始 SQL 查询 如下所示 test Poll objects raw SELECT FROM s polls poll 并导致错误 ProgrammingError at 1064 You have an error in
  • Visual Studio 2012 JavaScript 智能感知不工作

    我的笔记本电脑和台式机上安装了 Visual Studio 2012 在我的台式电脑上 JavaScript 智能感知无法正常工作 对于它提取的任何方法 甚至是标准 JavaScript 调用 我都会收到消息 Intellisense 无法
  • 如何将 Html.Action 附加到 jquery

    我可以添加吗 report html Html Action ReportPage new id Model GoalId 这里的报告是我想要放置操作结果的div的id ReportPage id是传递给ReportPage actionr
  • 如何在 eclipse 中添加 Android Support v7 库?

    如何在 eclipse 中添加 Android 支持 v7 库 例如 如何将 CardView 添加到 eclipse android 项目 注意 这是一个自我回答问题 因此无需浪费时间回答 当然 如果您有什么需要补充的 欢迎补充 From
  • 水豚在我的电脑中打开一个html文件

    我的电脑中有一个 html 文件 我想使用 Capybara 打开该文件来测试它 你能帮我解决这个问题吗 P S 该 html 文件是在我的应用程序中自动创建的 我非常感谢任何帮助我解决这个问题的想法 谢谢 UPDATE 基于水豚源码her
  • HttpClient 中“连接被拒绝”异常和超时之间的区别

    我正在尝试确定网络上的设备是否正在使用 Java 运行 Web 服务器 为此 我使用 Apache 的 HttpClient 我发送一个请求 如果设备运行网络服务器 我就会收到响应 非常简单 但是 如果网络服务器没有运行 那么我观察到会发生