要求和目的
深入理解http协议以及http下载相关功能的程序设计
实验环境
Java语言,PC平台
实验要求
- 基本要求:使用Socket类,实现一个简单的HTTP客户端程序。用户输入URL,该程序可以从服务器下载URL指定的资源,并将之存储在磁盘上。
- 不仅可以下载HTML,还可以自动下载HTML中包含的图像等其他资源。
- 将下载的网页或其他内容在图形界面上显示。
实验分析
实验目的和要求是深入理解http协议以及http下载相关功能的程序设计,要求我们使用Socket类,实现一个简单的HTTP客户端程序。用户输入URL,该程序可以从服务器下载URL指定的资源,并将之存储在磁盘上。不仅可以下载HTML,还可以自动下载HTML中包含的图像等其他资源。 将下载的网页或其他内容在图形界面上显示。
实验过程
首先由用户输入自己想要下载的URL资源地址,在此以深圳大学网址首页进行展示
对网页网址的html资源文件进行下载操作,通过page方法实现,首先创建一个URL对象
利用HttpURLConnection类打开连接,并设置请求属性
建立连接,并建立输出流,再利用流对象进行文件处理,将资源保存到本地文件中去
完成后关闭对应流文件即可
除了下载指定URL的html资源文件外,还需将文件中自带的图像文件给下载保存到本地文件中去,因此,我们首先需要阅读HTML文件以获得对应图像文件的网址
通过观察源代码以及学习HTML相关知识,可以知道,在html文件中,图像格式均为
因此,我们在阅读html文件的每一行时,若存在图像文件,其前缀必为 img src=“”,因此我们只需通过正则表达式逐行获取该前缀后的双引号中的内容加上原URL地址,即为图像地址,再进行下载即可