URL学习 (进一步补充)

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 url = new URL("http://www.google.com/");
  • 常用URL类中的方法:
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
(注意:这里方法类型必须大写)。

关闭连接

要关闭连接,需要使用从连接中获取的 InputStreamOutputStream 对象 , 在这两个对象上调用 close()方法。这样做可以释放与 URLConnection 实例关联的网络资源。

小技巧

如何获取文件名称?

URL url = new URL("网址");
String urlName = url.getFile();
//获取文件路径+名称:
// 并从最后一个“/”开始截取, 截取到url的结尾 
fileName = urlName.substring(urlName.lastIndexOf("/")+1,urlName.length());
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值