What is URL?
URL是统一资源定位符(Uniform Resource Locator)简称,标识互联网上任意的一个资源的地址。通过URL,用户可以访问各种网络资源,比如常见的WWW和FTP站点。浏览器通过解析URL,在网络上查找对应的文件或其他资源。
URL 语法格式: protocol://resourceName
protocol:指明获取这一资源所需的传输协议。 常见的有:HTTP/HTTPs, FTP, file等,资源名则是完整的地址,包括了主机名,端口号,文件名/文件内部的引用。
http://www.google.com/
http://localhost:8080/Test/admin/login.jsp
How to USE?
URL类
java.net包提供了专门处理URL的类:URL,获取URL中的协议名,主机名
获取一个URL对象:
URL url = new URL("http://www.google.com/");
public String getFile() : 获取URL的路径+文件名
public URLConnection openConnection() : 获取通信连接对象
URLConnection类
获取URL对象后,要建立URL的通信连接,要使用URLConnection类,URLConnection类对象使用URL类的openConnection() 方法获得
1.输入:
public void setDoInput(boolean input) URL连接可用于输入(输出),如果打算使用URL连接进行输入,设置input == true ,如果不使用,则设置为input == false ,默认为true
2.输出:
public void setDoOutput(boolean input) URL连接可用于输出(输入),如果打算使用URL连接进行输出,设置input == true ,如果不使用,则设置为input == false ,默认为false
3.设置常规请求属性:
public void setRequestProperty(String key, String value) 设置键值对指定的常规请求属性,如果key对应的属性已存在,则覆盖value
4.获取输入流,读取资源
public InputStream getInputStream() throws IOException 返回URL输入流,用于读取资源
5.获取输出流,用于写入资源
public OutputStream getOutputStream() throws IOException 返回URL输出流,用于向URL指定的位置写入
6.获取文件资源大小
public int getContentLength() 返回头部content-length字段
7.获取服务器发送到的状态
getResponseCode(): 返回服务器发送的 HTTP 状态码。
HttpURLConnection 类
如果 URL 中使用的网络协议为 HTTP 协议 或 HTTPS 协议, 就可以将 URLConnection 类型强制转换为 HttpURLConnection.
setRequestMethod(String method): 设置 URL 请求的方法。 method可以是: HTTP 方法 GET,POST,HEAD,OPTIONS,PUT,DELETE 和 TRACE 之一。 默认方法是 GET (注意:这里方法类型必须大写)。
关闭连接
要关闭连接,需要使用从连接中获取的 InputStream 或 OutputStream 对象 , 在这两个对象上调用 close() 方法。这样做可以释放与 URLConnection 实例关联的网络资源。
小技巧
如何获取文件名称?
URL url = new URL("网址");
String urlName = url.getFile();
fileName = urlName.substring(urlName.lastIndexOf("/")+1,urlName.length());
|