学习笔记:URL

URL编码:

java 开发中,有时候需要将中文进行转码,保证传输的时候不出现乱码;最常用的方式是
URLEncode URLDecode
URLEncode
将普通字符串转换成 application/x-www-from-urlencoded 字符串
示例:
//字符串中的非西欧字符的内容,会被转化成%XX%XX XX 为十六进制的数字
String urlString = URLEncoder.encode("你好", "UTF-8");
System.out.println(urlString);//输出:%E4%BD%A0%E5%A5%BD
URLDecode
将 application/x-www-from-urlencoded 字符串转换成普通字符串
示例:
String keyWord = URLDecoder.decode("%E4%BD%A0%E5%A5%BD", "UTF-8");
System.out.println(keyWord);//输出:你好

 

 URL 类

在 java.net 包中包含专门用来处理 URL 的类 URL,可以获得 URL 的相关信息,例如 URL 的协议名和主机名 等。
常用的创建 URL 的方式: (使用基本地址和相对 URL 构造一个 URL 对象。
URL url = new URL(“地址”);
常用的 URL 中方法:
public String getFile() : 获取该 URL 的路径+文件名;
public URLConnection openConnection() : 获取通信连接对象

 

 URLConnection 类  

完成了 URL 的定义,接下来就可以获得 URL 的通信连接。在 java.net 包中,定义了专门的 URLConnection 类 来表示与 URL 建立的通信连接,URLConnection 类的对象使用 URL 类的 openConnection() 方法获得。
常用方法:
1. public void setDoInput(boolean input)
URL 连接可用于输入和/或输出。如果打算使用 URL 连接进行输入,则将 DoInput 标志设置 为 true;如果不打算使用,则设置为 false。默认值为 true。
2. public void setDoOutput(boolean output)
URL 连接可用于输入和/或输出。如果打算使用 URL 连接进行输出,则将 DoOutput 标志设置
为 true;如果不打算使用,则设置为 false。默认值为 false。
3. setRequestProperty(String key,String value)
设置由键值对指定的常规请求属性。如果具有密钥的属性已存在,则旧值将被新值覆盖。
4. public InputStream getInputStream() throws IOException
返回 URL 的输入流,用于读取资源
5. public OutputStream getOutputStream() throws IOException
返回 URL 的输出流, 用于写入资源。
6. int getContentLength():
返回头部 content-length 字段值
7. getResponseCode():
返回服务器发送的 HTTP 状态码。

 

 HttpURLConnection 类

如果 URL 中使用的网络协议为 HTTP 协议 或 HTTPS 协议, 就可以将 URLConnection 类型强制转换为 HttpURLConnection.
常用方法:
setRequestMethod(String method):
设置 URL 请求的方法,它是 HTTP 方法 GET,POST,HEAD,OPTIONS,PUT,DELETE 和 TRACE 之一。默认方法是 GET(注意:这里方法类型必须大写)

 

 关闭连接 

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

 

 小技巧

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值