每天二十分钟,成就Java大神,点点关注不迷路!
今天是第二十八天,给坚持到这里的小伙伴点个赞!
时钟的指针永远向前,但你可以选择被推着走还是牵着它跑,共勉!
目录
URL(Uniform Resource Locator)中文名为资源定位器,有时也被俗称为网页地址。表示为互联网上的资源,如网页或者 FTP 地址。
本章节我们将介绍 Java 是如何处理 URL 的。URL 可以分为如下几个部分:
protocol://host:port/path?query#fragment
其中:
protocol:协议,可以是 HTTP、HTTPS、FTP 和 File
host:主机(域名)
port :端口号(HTTP 协议默认的端口号为 80)
权限(Authority)为主机名加端口(host:port)
path:文件路径及文件名
query:请求参数
fragment:定位位置
如:
try {
URL url = new URL("https://www.example.com:443/api/v1/data"
+ "?category=books&lang=zh_CN"
+ "#section2");
System.out.println("协议: " + url.getProtocol()); // https
System.out.println("主机: " + url.getHost()); // www.example.com
System.out.println("端口: " + url.getPort()); // 443(显式指定时)
(HTTP 协议默认的端口号为 80)
System.out.println("路径: " + url.getPath()); // /api/v1/data
System.out.println("查询: " + url.getQuery()); // category=books&lang=zh_CN
System.out.println("锚点: " + url.getRef()); // section2
// 获取情权限(host:port)
System.out.println("权限信息: " + url.getAuthority());// 权限为主机名加端口
} catch (MalformedURLException e) {
e.printStackTrace();
}
URL类方法
在java.net包中定义了URL类,该类用来处理有关URL的内容。对于URL类的创建和使用,下面分别进行介绍。
URL构建
java.net.URL提供了丰富的URL构建方式,并可以通过java.net.URL来获取资源。
| 方法 | 描述 |
|---|---|
| public URL(String protocol, String host, int port, String file) throws MalformedURLException. | 通过给定的参数(协议、主机名、端口号、文件名)创建URL。 |
| public URL(String protocol, String host, String file) throws MalformedURLException | 使用指定的协议、主机名、文件名创建URL,端口使用协议的默认端口。 |
| public URL(String url) throws MalformedURLException | 通过给定的URL字符串创建URL |
| public URL(URL context, String url) throws MalformedURLException | 使用基地址和相对URL创建 |
访问URL
URL类中包含了很多方法用于访问URL的各个部分,具体方法及描述如下:
| 方法 | 描述 |
|---|---|
| public String getPath() | 返回URL路径部分。 |
| public String getQuery() | 返回URL查询部分。 |
| public String getAuthority() | 获取此 URL 的授权部分。 |
| public int getPort() | 返回URL端口部分 |
| public int getDefaultPort() | 返回协议的默认端口号。 |
| public String getProtocol() | 返回URL的协议 |
| public String getHost() | 返回URL的主机 |
| public String getFile() | 返回URL文件名部分 |
| public String getRef() | 获取此 URL 的锚点(也称为"引用")。 |
| public URLConnection openConnection() throws IOException | 打开一个URL连接,并运行客户端访问资源。返回URLConnection对象 |
URLConnections 类方法
上表提到,openConnection() 返回一个 java.net.URLConnection对象。
例如:
如果你连接HTTP协议的URL, openConnection() 方法返回 HttpURLConnection 对象。
如果你连接的URL为一个 JAR 文件, openConnection() 方法将返回 JarURLConnection 对象。
URLConnection 方法列表如下:
| 方法 | 描述 |
|---|---|
| Object getContent() | 检索URL链接内容 |
| Object getContent(Class[] classes) | 检索URL链接内容 |
| String getContentEncoding() | 返回头部 content-encoding 字段值。 |
| int getContentLength() | 返回头部 content-length字段值 |
| String getContentType() | 返回头部 content-type 字段值 |
| int getLastModified() | 返回头部 last-modified 字段值。 |
| long getExpiration() | 返回头部 expires 字段值。 |
| long getIfModifiedSince() | 返回对象的 ifModifiedSince 字段值。 |
| public void setDoInput(boolean input) | URL 连接可用于输入和/或输出。如果打算使用 URL 连接进行输入,则将 DoInput 标志设置为 true;如果不打算使用,则设置为 false。默认值为 true。 |
| public void setDoOutput(boolean output) | URL 连接可用于输入和/或输出。如果打算使用 URL 连接进行输出,则将 DoOutput 标志设置为 true;如果不打算使用,则设置为 false。默认值为 false。 |
| public InputStream getInputStream() throws IOException | 返回URL的输入流,用于读取资源 |
| public OutputStream getOutputStream() throws IOException | 返回URL的输出流, 用于写入资源。 |
| public URL getURL() | 返回 URLConnection 对象连接的URL |
下节预告
下节开始,笔者将详细介绍 Java 网络编程,有疑惑可私信或评论区提出,and不妨动动发财的手点个赞吧,明天见!
Java URL处理&spm=1001.2101.3001.5002&articleId=146123062&d=1&t=3&u=5398bba9add34e8f894b6741d1dfa3a7)
256

被折叠的 条评论
为什么被折叠?



