Java - 下载网页

时间:2015-09-14 18:15:38

标签: java url

最近我听到有人说可以下载#34;"一个网页,并避免下载整个网页。例如,我必须下载一个网页(http://someurl.com)来解析它并提取一些信息。有没有办法只下载一个""它,而不是整个网页?

问候.-

2 个答案:

答案 0 :(得分:2)

不确定。开始正常下载页面(打开套接字,联系服务器,请求页面等),然后在收到前20个字节的数据后停止操作。

Boom,网页的一部分。您将无法解析任何内容,但是您的计划仅在部分网页中进行此操作尚不明确。

答案 1 :(得分:2)

由于不幸缺乏特异性,刚才可能会对提问感到困惑。让我们根据单个URL来定义它,该URL引用可通过HTTP / 1.1访问的单个资源。如有疑问,请转到source。源自:HTTP / 1.1是原始HTTP(HTTP / 1.0)的修订版。在HTTP / 1.0中,为每个资源请求建立到同一服务器的单独连接。在页面传送后,HTTP / 1.1可以多次重复使用连接来下载图像,脚本,样式表等。因此,由于建立TCP连接会产生相当大的开销,因此HTTP / 1.1通信的延迟会减少。

HTTP定义方法(有时称为动词)以指示要对标识的资源执行的所需操作。此资源表示的是,预先存在的数据还是动态生成的数据,取决于服务器的实现。通常,资源对应于驻留在服务器上的文件或可执行文件的输出。 HTTP / 1.0规范[11]定义了GET,POST和HEAD方法,HTTP / 1.1规范[12]增加了5种新方法:OPTIONS,PUT,DELETE,TRACE和CONNECT。通过在这些文档中指定它们的语义是众所周知的并且可以依赖。任何客户端都可以使用任何方法,并且可以将服务器配置为支持任何方法组合。如果中间人不知道某种方法,则将其视为不安全且非幂等的方法。可以定义的方法数量没有限制,这允许在不破坏现有基础结构的情况下指定将来的方法。例如,WebDAV定义了7种新方法,RFC 5789指定了PATCH方法。

我们可以单独要求 head 或者询问正文,但是如果我们正在点击资源,除了 head 方法之外我知道无法询问部分资源。所以答案是 NO 除非问题允许单个http资源的 head 。注:图像或脚本可以作为单独的资源访问。