2017-05-24 11 views
-1

私はapache httpclient 4.5.3を使用して別の別のWebページ(example.comなど)にPOSTリクエストを送信しています。私は、カスタム応答ハンドラを使用して応答を取り戻しています。応答ページは以下のように扱われる:Apache HTTPClientの相対URLを処理する方法

HttpClient httpclient = HttpClientBuilder.create().setRedirectStrategy(new LaxRedirectStrategy()).setDefaultCookieStore(cookieStore).build(); 
HttpPost httpget = new HttpPost("http://www.example.com/post.php"); 
... 
    String responseBody = httpclient.execute(httpget, responseHandler, context); 
    PrintWriter out = response.getWriter(); 
    out.println(responseBody); 
    out.close(); 

ページをレンダリングするときに問題があり、このこと明白な理由のためにHTTP-404で得られた(/scripts/test.cssなど)HTMLページの相対URIスクリプトは私のtomcatには存在しません。

この問題を処理するにはどうすればよいですか?

// SB

答えて

0

のApache HTTPクライアントは、それが自動的に 内で参照リソースとHTMLページを処理しないHTTPクライアントです。これらの参照されるリソースは個別にフェッチする必要があります。 ApacheのHTTPクライアントだけでHTTPプロトコルを扱う簡素化(と、それは拡張子だ)クッキー、キャッシュなどの

、キープアライブ、...

あなたの説明から、あなたは、外部の(部分)を提供しようとするようですねあなた自身のtomcat内からWebサイト。 法的な問題がないとします。

は、さまざまなオプションを持っている:

  • は、外部コンテンツが含まれるようにiFrameを使用しています。
  • は、つまりは外部のホストからそれらを取得し、そのようコンテンツを配信するHTMLページ に似ただけ絶対URL
  • 解析が含まれるように、外部HTMLページを書き換え、相対的な要求を傍受
  • HTMLページを書き換えるとそれらを扱う
  • 彼らはあなたの風船でホストされているように見えます。
関連する問題