首页 / 知识
URL打开时,为什么会发生” java.net.ConnectException:连接超时”异常?
2023-04-16 19:17:00

Why would a “java.net.ConnectException: Connection timed out” exception occur when URL is up?我从我的代码中得到了某个频率的 这是堆栈跟踪:
这是我的代码中的一个片段:
连接超时(假设本地网络和多台客户端计算机)通常是由于 a)某种防火墙,其方式是简单地吃掉数据包而不会告诉发件人诸如"没有通往主机的路由"之类的信息。 b)由于错误的网络配置或线路过载而导致的数据包丢失 c)太多请求使服务器超载 d)服务器上少数同时可用的线程/进程导致所有线程/进程被占用。这种情况尤其发生在需要很长时间才能运行并可能与c)结合在一起的请求中。 希望这会有所帮助。 如果该URL在同一台计算机上的Web浏览器中正常运行,则可能是Java代码未使用该浏览器用于连接到该URL的HTTP代理。 错误消息说明了一切:您的连接超时。这意味着您的请求在某个(默认)时间范围内未得到响应。未收到响应的原因可能是以下之一: a)IP /域或端口不正确 b)IP /域或端口(即服务)已关闭 c)IP /域花费的时间超过了您的默认超时时间 d)您的防火墙阻止了正在使用的任何端口上的请求或响应 e)您的防火墙阻止了对该特定主机的请求 f)您的互联网访问已关闭 g)您的活动服务器已关闭,即发生" rest-API call "。 请注意,您的ISP可能已设置防火墙和端口或IP阻止 我建议在获取输出流之前增加连接超时时间,如下所示:
其中1000以毫秒为单位(1000毫秒= 1秒)。 我通过以下方式解决了我的问题:
或
因为URLConnection(HttpURLConnection / HttpsURLConnection)不稳定。您可以在这里和这里阅读有关此内容的信息。 a)通过 设置ContentLength b)捕获任何TimeoutException,如果失败则重试。 这可能是IPv6问题(主机发布了IPv6 AAAA地址,而用户主机认为该主机已配置为IPv6,但实际上未正确连接)。这也可能是网络MTU问题,防火墙阻止或目标主机可能发布了不同的IP地址(随机地或基于发件人所在的国家/地区),这些地址并非都可以访问。或类似的网络问题。 除了设置超时并添加良好的错误消息(尤其是打印出主机的已解析地址)之外,您不能做其他事情。如果要使其更加健壮,请添加重试,对所有地址进行并行尝试,并查看Java平台上的名称解析缓存(正负)。 发生这种情况的原因是,远程服务器只允许寻址某些IP地址,但不允许它自己的IP地址,而我试图从服务器的URL渲染图像...所以一切都会停止,显示您遇到的超时错误... 确保服务器允许其自己的IP,或者确保您从实际存在的某个远程URL呈现内容。 您的IP /主机有可能被远程主机阻止,尤其是当它认为您太用力了时。 |
最新内容
相关内容
linux命令行打开浏览?
linux命令行打开浏览?,系统,网络,网址,工具,密码,首页,服务,网站,数据,地址,linux怎么打开命令行窗口在Linux系统中,打开命令行窗口需要使用终怎么打开linux命令框?
怎么打开linux命令框?,系统,首页,终端,信息,情况,命令,窗口,快捷键,界面,桌面,linux怎么用命令打开命令窗口linux如何进入命令行?我们一起来了linux命令基础代码?
linux命令基础代码?,基础,系统,管理,工作,代码,网络,单位,信息,数据,命令,linux必学的60个命令安装和登录命令:login、shutdown、halt、rebootlinux打开图像命令?
linux打开图像命令?,系统,电脑,密码,地址,图形界面,位置,情况,代码,工具,命令,linux装完了,启动后都是一些命令符,请问我该怎么操作才能进入图linux下打开串口命令?
linux下打开串口命令?,设备,系统,平台,名称,信息,数据,分析,地址,软件,工具,如何查看linux下串口是否可用?串口名称等?带-g选项的setserial帮linux打开命令终端?
linux打开命令终端?,系统,首页,终端,图片,发行,一致,命令,选项,桌面,文件,linux怎么打开命令窗口linux如何进入命令行?我们一起来了解一下吧。linux打开代码命令行?
linux打开代码命令行?,系统,首页,工具,终端,代码,密码,情况,命令,快捷键,窗口,linux怎么打开命令行窗口在Linux系统中,打开命令行窗口需要使用linux打开网络命令?
linux打开网络命令?,网络,系统,地址,工作,信息,工具,管理,命令,基础,状态,Linux常用网络配置命令1、linux常用命令及用法linux常用命令如下:查linux命令行打开火狐?
linux命令行打开火狐?,咨询,系统,火狐,软件,首页,浏览器,设备,官方网站,环境,平台,怎么在linux开机启动火狐浏览器,用的centos的操作系统1、尊linux命令打开压缩?
linux命令打开压缩?,系统,命令,工具,管理,电脑,文件,标准,信息,平台,格式,linux压缩解压gz文件命令命令格式:tar -zxvf 压缩文件名.tar.gz。解linux打开文件夹命令?
linux打开文件夹命令?,工作,系统,信息,命令,图片,文件,管理,发行,名字,名称,请问Linux下通过命令行怎样打开文件xdg-open:这个命令可以打开任何linux克隆代码命令?
linux克隆代码命令?,系统,代码,文件,命令,目录,源文件,文件夹,路径,目标,表示,Linux文件拷贝命令?linux系统使用cp命令即可将一个文件夹里面的