您尝试避免的问题是等待您的http连接确定您尝试访问的URL确实不可用。为了实现这一点,您需要停止使用url.openStream(),它是openConnection()。getInputStream()的快捷方式,并可以更好地控制您的连接。
URLConnection conn = url.openConnection(); conn.setConnectTimeout(timeoutMs); conn.setReadTimeout(timeoutMs); in = conn.getInputStream();
如果连接或读取超出您在timeoutMs参数中提供的时间,则此代码将允许您使连接尝试超时。



