方法一:
import java.io.InputStream;
import java.net.URL;
public class Test {
public static void main(String[] args) {
URL url;
try {
url = new URL("http://www.baidu.com");
InputStream in = url.openStream();
System.out.println("连接可用");
} catch (Exception e1) {
System.out.println("连接打不开!");
url = null;
}
}
}
方法一使用java.net 下的URL类来实现,URL 是统一资源标识符的引用,一个URL实例代表着一个url的引用,然后使用了URL中的的openStream()方法。
方法二:
import java.net.HttpURLConnection;
import java.net.URL;
/**
* 文件名称为:URLAvailability.java
* 文件功能简述: 描述一个URL地址是否有效
* @author Jason
* @time 2010-9-14
*
*/
public class URLAvailability {
private static URL url;
private static HttpURLConnection con;
private static int state = -1;
/**
* 功能:检测当前URL是否可连接或是否有效,
* 描述:最多连接网络 5 次, 如果 5 次都不成功,视为该地址不可用
* @param urlStr 指定URL网络地址
* @return URL
*/
public synchronized URL isConnect(String urlStr) {
int counts = 0;
if (urlStr == null || urlStr.length() <= 0) {
return null;
}
while (counts < 5) {
try {
url = new URL(urlStr);
con = (HttpURLConnection) url.openConnection();
state = con.getResponseCode();
System.out.println(counts +"= "+state);
if (state == 200) {
System.out.println("URL可用!");
}
break;
}catch (Exception ex) {
counts++;
System.out.println("URL不可用,连接第 "+counts+" 次");
urlStr = null;
continue;
}
}
return url;
}
public static void main(String[] args) {
URLAvailability u=new URLAvailability();
u.isConnect("http://www.baidu.com");
}
}
方法二使用了java.net 下的URL和HttpURLConnection两个类来实现。它使用了HttpURLConnection 中的 getResponseCode();方法,HttpURLConnection : 通常一个HttpURLConnection 的实例可以生成一个请求,它有个方法getResponseCode();可以得到请求的响应状态,该方法返回一个 int 分别是 200 and 404 如无法从响应中识别任何代码则返回 -1。
分享到:
相关推荐
本文将基于提供的代码示例,深入探讨如何使用Java来检查一个URL是否有效,并确保网络资源能够正常访问。 #### 一、理解URL及其实现 URL(Uniform Resource Locator)统一资源定位符是用于标识互联网上特定资源的...
1. **使用URL类访问网页**:首先,需要使用`java.net.URL`类创建一个URL对象,该对象表示需要访问的网页地址。 ```java URL url = new URL(httpUrl); ``` 2. **读取网页数据**:接着,使用`URLConnection`类的...
这里的`\w`代表任意字母数字字符或下划线,`([-+.]\\w+)*`表示允许邮箱用户名部分包含连字符、加号、句点等,并且这些符号后还可以跟一个或多个字母数字字符或下划线。`@`后跟域名部分,其中`([-.]\\w+)*`允许域名中...
由于在JavaScript中反斜杠(`\`)是一个特殊字符,需要使用两个反斜杠来表示一个字面的反斜杠。 - `.+`:表示匹配一个或多个任意字符(`.`代表任意字符,`+`表示一个或多个前面的字符)。 当用户在表单中输入一个...
- `boolean equals(Object obj)`:判断两个URL对象是否相等。 - `String getAuthority()`:获取URL的授权部分。 - `Object getContent()` 和 `Object getContent(Class[] classes)`:获取URL的内容,后者允许指定...
### Java判断题知识点详解 #### 1. JSP 包含指令 (`<jsp:include>`) **知识点**: `<jsp:include>` 指令在 JSP 文件中的作用是在编译时将其他 JSP 文件的内容合并到当前 JSP 文件中。 **解析**: 正确。`...
这种方法是通过建立一个HTTP连接来检查URL是否有效。以下是具体的步骤: 1. 创建`URL`对象,传入待检测的URL地址。 2. 使用`openConnection()`方法获取`HttpURLConnection`实例。 3. 设置不缓存请求 (`setUseCaches...
Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信...
在这个方法中,可以通过`chain.doFilter(request, response)`继续传递请求到下一个过滤器或最终的目标资源。 3. **`destroy()`**:在Web应用停止或过滤器被卸载时调用,用于释放资源。 ### 二、示例分析:缓存控制...
在Java中实现URL重写(URL rewrite)是为了实现伪静态,这是一种优化网站SEO(搜索引擎优化)的技术。通过将动态URL转换为看似静态的URL格式,可以提高网站的可读性和搜索引擎友好性。以下是对给定代码的详细解释: ...
本示例Demo提供了两种方法来实现这一目标,使用了两个不同的库:xuggle-xuggler-5.4.jar 和 jave-1.0.2.jar。这两个库都是专门用于处理视频的Java库,提供了丰富的功能,包括提取视频元数据。 首先,我们来看...
使用URL对象的`openConnection()`方法打开一个到该URL的连接,返回一个`URLConnection`对象,通常是`HttpURLConnection`的实例: ```java HttpURLConnection connection = (HttpURLConnection) url.open...
在这个方法中,我们可以检查请求的URL,进行必要的处理。 ```java public class MyFilter implements Filter { @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain ...
- **自动类型提升**:当两个操作数的类型不同且其中一个为较小的数据类型时,会自动提升到较大的数据类型。 - **显式类型转换**:通过`(类型)`进行类型转换。 ##### 4.4 控制流 Java提供了多种控制流语句,如if-...
- `openStream()`方法用于打开到此URL引用的资源的连接,并返回一个输入流。 - 如果输入流不为空,则使用`BufferedReader`读取数据。`readLine()`方法用于读取一行数据。 - 最后将读取到的在线状态输出到控制台。 #...
布隆过滤器(Bloom Filter)是一种空间效率极高的概率型数据结构,用于判断一个元素是否可能在一个集合中。在Java开发中,特别是在处理大数据、内存限制或需要快速查询是否存在某个元素的场景下,布隆过滤器是一个...
2)、可选择使用javaCV推流、ffmpeg推流两种方式。 3)、javaCV仅支持拉去或推送H264压缩方式的流。 4)、ffmpeg采用命令的方式拉流和推流,支持H265和H264。 5)、支持获取流的访问数,可设置自动关闭0访问数的...
首先,我们需要判断当前系统是否支持`Desktop`类,然后创建一个`URI`对象表示要打开的URL,最后调用`browse()`方法打开默认浏览器。以下是完整的代码示例: ```java import java.awt.Desktop; import java.net.URI;...
### WebSocket 区分不同客户端两种方法详解 #### 一、引言 在现代Web应用开发中,WebSocket技术因其能够实现实时双向通信的特点而被广泛应用于各种场景,尤其是在即时通讯领域。然而,随着应用场景的复杂化,如何...
`UserBean`可能会有一个方法,比如`denglu`,用于接收来自Servlet的参数,并负责与数据库交互,检查用户名和密码是否有效。 在`UserBean`内部,我们会使用`DBBean`类来连接数据库并执行查询。`DBBean`通常包含连接...