URL网络编程

使用Socket进行网络编程,从网络传输层角度进行分析,适用于绝大多数网络连接方式;但是需要开发人员熟练掌握网络传输、网络协议等基础知识,开发难度较大。在Java语言中,提供了一组URL处理类,封装了Socket编程技术的实现细节,用来方便开发人员进行网络连接、网络数据传输等常用的网络任务。

直接使用URL类,可以方便地处理各种常见协议的网络连接 使用URL类进行网络连接,相当于直接进行远程输入/输出流操作,只需开发人员熟练掌握常用IO操作即可,大大降低开发难度。

 

URL类:可以获取网页的各种信息

URL myURL = new URL("http://java.sun.com");

String protocal = myURL.getProtocol();
String host = myURL.getHost();
String file = myURL.getFile();
int port = myURL.getPort();
String ref = myURL.getRef();

System.out.println(protocal + ", " + host + ", " + file + ", " + port + ", " + ref);

 

URLconnection类:可以建立与URL的连接,读取或写入URL引用的资源

// URLConnection类常用方法
// 获得响应消息头类方法
getContentType()
getContentLength()
getContentEncoding()

// 获得响应消息主体
getContent()

// 获得当前连接输入/输出流对象
getInputStream()
getOutputStream()

文件下载

url = new URL("http://");

// 打开连接
URLConnection conn = url.openConnection();

// 得到输入流
InputStream is = conn.getInputStream();

// 关于IO流的用法和写法一定要熟悉
OutputStream os = new FileOutputStream("d:\\baidu.png");

byte[] buffer = new byte[2048];
int length = 0;

while (-1 != (length = is.read(buffer, 0, buffer.length))) {
    os.write(buffer, 0, length);
}
is.close();
os.close();

获取响应消息

// 创建Url对象
URL url = new URL(rootUrl);	

// 得到URLConnection连接对象
URLConnection conn = url.openConnection();
HttpURLConnection hc = (HttpURLConnection)conn;

// 获得响应消息头
conn.getContentType();
conn.getContentLength();
conn.getContentEncoding();

// 获得HTTP消息状态码
hc.getResponseCode();
hc.getResponseMessage();

// 获得HTTP响应消息主体
hc.getContent();

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值