使用JSoup解析html字符串或流而不获取link / img / area / iframe(以及其他任何)标记的外部数据的“正确”方法是什么?现在,在使用Apache HttpComponents获取页面后,我正在做类似的事情:
HttpEntity entity = response.getEntity();
InputStream is = entity.getContent();
Document = JSoup.parse(is, null, "");
哪个实际上运作正常。但是将baseUri作为空的传递只是感觉不对,因为我打赌JSoup试图使用它,只是失败并继续前进。我只想将JSoup用作html解析器和DOM操作工具包,而不是http框架。我也有点担心JSoup可能会尝试在当前目录中查找="/foo"
资源。 做什么用空字符串做什么?我尝试将null
作为baseUri传递,这将是一个自然界面,可以执行我想要的操作,但它会因IllegalStateException而死。
有没有办法做到这一点,还是我什么都不担心?
答案 0 :(得分:1)
......我认为认为JSoup不会这样做。 URL参数仅用于相对URL的规范化,您使用它们的责任是您的责任。 JSoup本身不会尝试访问资源。