0

link/img/area/iframe (およびその他のタグ) の外部データを取得せずにJSoupを使用して html 文字列またはストリームを解析する「正しい」方法は何ですか? 現在、 Apache HttpComponentsを使用してページをフェッチした後、次のようなことをしています。

HttpEntity entity = response.getEntity();
InputStream is = entity.getContent();
Document = JSoup.parse(is, null, "");

これは実際にはうまく機能します。しかし、baseUri を空として渡すのは間違っているように感じます。なぜなら、JSoup がそれを使用しようとして、失敗して先に進むだけだからです。私は JSoup を http フレームワークではなく、html パーサーおよび DOM 操作キットとしてのみ使用したいと考えています。また、JSoup が="/foo"現在のディレクトリなどでリソースを検索しようとする可能性があることも少し心配です。空の文字列で何をますか? 私nullは baseUri として渡そうとしました。これは、私が望むことを行うための自然なインターフェイスですが、IllegalStateException で終了します。

これを行う方法はありますか、それとも何も心配していませんか?

4

1 に答える 1

1

... JSoup がそれを行うとは思いません。URL パラメーターは相対 URL の正規化のみを目的としており、それらをどうするかはユーザーの責任です。JSoup 自体がリソースにアクセスしようとすることはありません。

于 2013-09-15T05:58:23.317 に答える