说明
统一资源定位符是指向互联网“资源”的指针。如:https://me.csdn.net/qq_39711439 ,通过这个标识符可在网络中定位资源。此类处于应用层,底层封装了Socket,因此在处理浏览器等方面的信息,应使用本类。
而Java中的URL类是对如同【https://blog.csdn.net/qq_39711439/article/details/100859357】这种网络地址的抽象。这个类中有一些方法可以获取这个字符串中的信息,如协议,域名,端口等。下面会介绍一些常用方法。
URI、URL 和 URN
URI 是统一资源标识符,而 URL 是统一资源定位符。URL 和 URN 都是 URI 的子集
URL类中的常用方法
1. 获取url串中的信息
返回值类型 | 方法名称 | 说明 |
---|---|---|
String | getAuthority() | 获取此 URL 的授权部分。 |
Object | getContent() | 获取此 URL 的内容。 |
Object | getContent(Class[] classes) | 获取此 URL 的内容。 |
int | getDefaultPort() | 获取与此 URL 关联协议的默认端口号。 |
String | getFile() | 获取此 URL 的文件名。 |
String | getHost() | 获取此 URL 的主机名(如果适用)。 |
String | getPath() | 获取此 URL 的路径部分。 |
int | getPort() | 获取此 URL 的端口号。 |
String | getProtocol() | 获取此 URL 的协议名称。 |
String | getQuery() | 获取此 URL 的查询部分。 |
String | getRef() | 获取此 URL 的锚点(也称为“引用”)。 |
2. 获取url目标的资源
返回值类型 | 方法名称 | 说明 |
---|---|---|
URLConnection | openConnection() | 返回一个 URLConnection 对象,它表示到 URL 所引用的远程对象的连接。 获取url对象的Url连接器对象。将连接封装成了对象: java中内置的可以解析的具体协议的对象+socket。 |
InputStream | openStream() | 打开到此 URL 的连接并返回一个用于从该连接读入的 InputStream。也就是获取url资源的Socket的读取流,并舍弃应答头,只获取应答体。其底层是 openConnection().getInputStream()方法。 |
方法注释:
URL类有一个特别的方法就是openConnection,返回一个URLConnection对象,此对象底层封装的是Socket流通,过URLConnection对象可以使用socket中的方法来获取网站的内容 ,URLConnection把浏览器的请求头和服务器返回的响应头都封装起来了,因此我们不用再向使用Socket一样手动写入浏览器请求头了。此URLConnection在应用层,而Socket在传输层。
URLConnection类
- 说明
此类可以用来处理浏览器请求头等信息。内置一些常用的方法来获取请求头中的信息。